当前位置: 首页>>代码示例>>Java>>正文


Java Pipeline.incr方法代码示例

本文整理汇总了Java中redis.clients.jedis.Pipeline.incr方法的典型用法代码示例。如果您正苦于以下问题:Java Pipeline.incr方法的具体用法?Java Pipeline.incr怎么用?Java Pipeline.incr使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在redis.clients.jedis.Pipeline的用法示例。


在下文中一共展示了Pipeline.incr方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: testEvalKeyAndArg

import redis.clients.jedis.Pipeline; //导入方法依赖的package包/类
@Test
public void testEvalKeyAndArg() {
  String key = "test";
  String arg = "3";
  String script = "redis.call('INCRBY', KEYS[1], ARGV[1]) redis.call('INCRBY', KEYS[1], ARGV[1])";

  Pipeline p = jedis.pipelined();
  p.set(key, "0");
  Response<Object> result0 = p.eval(script, Arrays.asList(key), Arrays.asList(arg));
  p.incr(key);
  Response<Object> result1 = p.eval(script, Arrays.asList(key), Arrays.asList(arg));
  Response<String> result2 = p.get(key);
  p.sync();

  assertNull(result0.get());
  assertNull(result1.get());
  assertEquals("13", result2.get());
}
 
开发者ID:sohutv,项目名称:cachecloud,代码行数:19,代码来源:PipeliningTest.java

示例2: testEvalKeyAndArgWithBinary

import redis.clients.jedis.Pipeline; //导入方法依赖的package包/类
@Test
public void testEvalKeyAndArgWithBinary() {
  // binary
  byte[] bKey = SafeEncoder.encode("test");
  byte[] bArg = SafeEncoder.encode("3");
  byte[] bScript = SafeEncoder
      .encode("redis.call('INCRBY', KEYS[1], ARGV[1]) redis.call('INCRBY', KEYS[1], ARGV[1])");

  Pipeline bP = jedis.pipelined();
  bP.set(bKey, SafeEncoder.encode("0"));
  Response<Object> bResult0 = bP.eval(bScript, Arrays.asList(bKey), Arrays.asList(bArg));
  bP.incr(bKey);
  Response<Object> bResult1 = bP.eval(bScript, Arrays.asList(bKey), Arrays.asList(bArg));
  Response<byte[]> bResult2 = bP.get(bKey);
  bP.sync();

  assertNull(bResult0.get());
  assertNull(bResult1.get());
  assertArrayEquals(SafeEncoder.encode("13"), bResult2.get());
}
 
开发者ID:sohutv,项目名称:cachecloud,代码行数:21,代码来源:PipeliningTest.java

示例3: testEvalshaKeyAndArg

import redis.clients.jedis.Pipeline; //导入方法依赖的package包/类
@Test
public void testEvalshaKeyAndArg() {
  String key = "test";
  String arg = "3";
  String script = "redis.call('INCRBY', KEYS[1], ARGV[1]) redis.call('INCRBY', KEYS[1], ARGV[1])";
  String sha1 = jedis.scriptLoad(script);

  assertTrue(jedis.scriptExists(sha1));

  Pipeline p = jedis.pipelined();
  p.set(key, "0");
  Response<Object> result0 = p.evalsha(sha1, Arrays.asList(key), Arrays.asList(arg));
  p.incr(key);
  Response<Object> result1 = p.evalsha(sha1, Arrays.asList(key), Arrays.asList(arg));
  Response<String> result2 = p.get(key);
  p.sync();

  assertNull(result0.get());
  assertNull(result1.get());
  assertEquals("13", result2.get());
}
 
开发者ID:sohutv,项目名称:cachecloud,代码行数:22,代码来源:PipeliningTest.java

示例4: testEvalshaKeyAndArgWithBinary

import redis.clients.jedis.Pipeline; //导入方法依赖的package包/类
@Test
public void testEvalshaKeyAndArgWithBinary() {
  byte[] bKey = SafeEncoder.encode("test");
  byte[] bArg = SafeEncoder.encode("3");
  String script = "redis.call('INCRBY', KEYS[1], ARGV[1]) redis.call('INCRBY', KEYS[1], ARGV[1])";
  byte[] bScript = SafeEncoder.encode(script);
  byte[] bSha1 = jedis.scriptLoad(bScript);

  assertTrue(jedis.scriptExists(bSha1) == 1);

  Pipeline p = jedis.pipelined();
  p.set(bKey, SafeEncoder.encode("0"));
  Response<Object> result0 = p.evalsha(bSha1, Arrays.asList(bKey), Arrays.asList(bArg));
  p.incr(bKey);
  Response<Object> result1 = p.evalsha(bSha1, Arrays.asList(bKey), Arrays.asList(bArg));
  Response<byte[]> result2 = p.get(bKey);
  p.sync();

  assertNull(result0.get());
  assertNull(result1.get());
  assertArrayEquals(SafeEncoder.encode("13"), result2.get());
}
 
开发者ID:sohutv,项目名称:cachecloud,代码行数:23,代码来源:PipeliningTest.java

示例5: jedisIncr

import redis.clients.jedis.Pipeline; //导入方法依赖的package包/类
private void jedisIncr(String key, int times) {
    Jedis jedis = null;
    boolean isBroken = false;
    try {
        jedis = jedisPool.getResource();
        Pipeline pipeline = jedis.pipelined();
        pipeline.set(key, "1");
        for (int i = 0; i < times; i++) {
            pipeline.incr(key);
        }
        Response<String> response = pipeline.get(key);
        pipeline.sync();
        LOGGER.info(response.get());
        jedis.del(key);
    } catch (Exception e) {
        isBroken = true;
    } finally {
        release(jedis, isBroken);
    }
}
 
开发者ID:fangzy,项目名称:spring-redis-plugin,代码行数:21,代码来源:JedisTest.java

示例6: incr

import redis.clients.jedis.Pipeline; //导入方法依赖的package包/类
@Redis
public void incr(String key, int times) {
    Pipeline pipeline = jedis.pipelined();
    pipeline.set(key, "1");
    for (int i = 0; i < times; i++) {
        pipeline.incr(key + i);
    }
    Response<String> response = pipeline.get(key + 1);
    pipeline.sync();
    LOGGER.info(response.get());
    jedis.del(key);
}
 
开发者ID:fangzy,项目名称:spring-redis-plugin,代码行数:13,代码来源:JedisServiceDemo.java

示例7: handle

import redis.clients.jedis.Pipeline; //导入方法依赖的package包/类
@Override
public FullHttpResponse handle(HttpRequest httpRequest,
                               Map<String, List<String>> params, ByteBuf byteBuf) {

    String requestJson = byteBuf.toString(Charset.forName("UTF-8"));
    if (requestJson.isEmpty()) {
        return StaticResponse.EMPTY_REQUEST.copy();

    }
    if (!requestJson.contains("{")) {
        return StaticResponse.MALFORMED_JSON.copy();

    }
    String token = "";
    if (httpRequest.headers().contains("Access-Token"))
        token = httpRequest.headers().get("Access-Token");
    if (params.containsKey("access_token"))
        token = params.get("access_token").get(0);

    if (!LoadDB.check_token(token)) {
        return (StaticResponse.INVALID_ACCESS_TOKEN.copy());
    }
    String cart_id = parse(requestJson);
    if (!cart_id.contains(token)) {
        if (LoadDB.user_map.containsKey(new StringBuffer(token).reverse().toString()))
            return (StaticResponse.NOT_AUTHORIZED_TO_ACCESS_CART.copy());
        else
            return (StaticResponse.CART_NOT_FOUND.copy());
    }

    //todo use lua
    Jedis jedis = Redispipe.getJedis();
    Pipeline pipeline = jedis.pipelined();
    pipeline.incr(token + "_");
    pipeline.get(token);
    pipeline.append(token, cart_id);
    pipeline.get(cart_id);
    List<Object> response = pipeline.syncAndReturnAll();
    if (!response.get(0).equals(new Long(1))) {

        if (response.get(1) != null) jedis.set(token, (String) response.get(1));
        else jedis.del(token);

        Redispipe.returnJedis(jedis);
        return (StaticResponse.ORDER_OUT_OF_LIMIT.copy());
    }


    String card_foods = (String) response.get(3);
    int food_id = 0;
    boolean order = true;
    for (int i = 0; i < card_foods.length(); i++) {
        food_id = food_id * 10 + (card_foods.charAt(i) - '0');
        if (i % 3 == 2) {
            order = order && Stock.setStock(food_id, -1);
            food_id = 0;
        }

    }

    if (!order) {
        if (response.get(1) != null) jedis.set(token, (String) response.get(1));
        else jedis.del(token);
        Redispipe.returnJedis(jedis);
        return (StaticResponse.FOOD_OUT_OF_STOCK.copy());

    }
    Redispipe.returnJedis(jedis);
    return (httpResponse(getJson_200(cart_id)));


}
 
开发者ID:eleme,项目名称:hackathon-2015,代码行数:73,代码来源:MakeOrderHandler.java


注:本文中的redis.clients.jedis.Pipeline.incr方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。