Package redis.clients.jedis

Examples of redis.clients.jedis.Pipeline


  jedis.set(key1, val1);
  jedis.set(key2, val2);
  jedis.hmset(key3, hashMap);
  jedis.hmset(key4, hashMap1);

  Pipeline pipeline = jedis.pipelined();
  pipeline.multi();

  pipeline.get(key1);
  pipeline.hgetAll(key2);
  pipeline.hgetAll(key3);
  pipeline.get(key4);

  Response<List<Object>> response = pipeline.exec();
  pipeline.sync();

  List<Object> result = response.get();

  assertEquals(4, result.size());
View Full Code Here


    public void hgetAllPipeline() {
  Map<byte[], byte[]> bh = new HashMap<byte[], byte[]>();
  bh.put(bbar, bcar);
  bh.put(bcar, bbar);
  jedis.hmset(bfoo, bh);
  Pipeline pipeline = jedis.pipelined();
  Response<Map<byte[], byte[]>> bhashResponse = pipeline.hgetAll(bfoo);
  pipeline.sync();
  Map<byte[], byte[]> bhash = bhashResponse.get();

  assertEquals(2, bhash.size());
  assertArrayEquals(bcar, bhash.get(bbar));
  assertArrayEquals(bbar, bhash.get(bcar));
View Full Code Here

    @Test
    public void testResetStateWhenInMultiWithinPipeline() {
  jedis.auth("foobared");

  Pipeline p = jedis.pipelined();
  p.multi();
  p.set("foooo", "barrr");

  jedis.resetState();
  assertEquals(null, jedis.get("foooo"));
    }
View Full Code Here

  jedis.auth("foobared");
  jedis.flushAll();

  long begin = Calendar.getInstance().getTimeInMillis();

  Pipeline p = jedis.pipelined();
  for (int n = 0; n <= TOTAL_OPERATIONS; n++) {
      String key = "foo" + n;
      p.set(key, "bar" + n);
      p.get(key);
  }
  p.sync();

  long elapsed = Calendar.getInstance().getTimeInMillis() - begin;

  jedis.disconnect();
View Full Code Here

    public long removeAndEstimateCount(byte[] value) {
        return pool.safelyReturn(jedis -> {
            int[] hashes = hash(value);
            String[] hashesString = encode(hashes);

            Pipeline p = jedis.pipelined();
            p.watch(keys.COUNTS_KEY, keys.BITS_KEY);

            List<Long> counts;
            List<Response<Long>> responses = new ArrayList<>(config().hashes());
            for (String position : hashesString) {
                responses.add(p.hincrBy(keys.COUNTS_KEY, position, -1));
            }
            p.sync();
            counts = responses.stream().map(Response::get).collect(Collectors.toList());

            while (true) {
                p = jedis.pipelined();
                p.multi();
                for (int i = 0; i < config().hashes(); i++) {
                    if (counts.get(i) <= 0)
                        bloom.set(p, hashes[i], false);
                }
                Response<List<Object>> exec = p.exec();
                p.sync();
                if (exec.get() == null) {
                    p = jedis.pipelined();
                    p.watch(keys.COUNTS_KEY, keys.BITS_KEY);
                    Response<List<String>> hmget = p.hmget(keys.COUNTS_KEY, hashesString);
                    p.sync();
                    counts = hmget.get().stream().map(Long::valueOf).collect(Collectors.toList());
                } else {
                    return Collections.min(counts);
                }
            }
View Full Code Here

    public long removeAndEstimateCount(byte[] value) {
        return pool.safelyReturn(jedis -> {
            int[] hashes = hash(value);
            String[] hashesString = encode(hashes);

            Pipeline p = jedis.pipelined();
            p.watch(keys.COUNTS_KEY, keys.BITS_KEY);

            List<Long> counts;
            List<Response<Long>> responses = new ArrayList<>(config().hashes());
            for (String position : hashesString) {
                responses.add(p.hincrBy(keys.COUNTS_KEY, position, -1));
            }
            p.sync();
            counts = responses.stream().map(Response::get).collect(Collectors.toList());

            while (true) {
                p = jedis.pipelined();
                p.multi();
                for (int i = 0; i < config().hashes(); i++) {
                    if (counts.get(i) <= 0)
                        bloom.set(p, hashes[i], false);
                }
                Response<List<Object>> exec = p.exec();
                p.sync();
                if (exec.get() == null) {
                    p = jedis.pipelined();
                    p.watch(keys.COUNTS_KEY, keys.BITS_KEY);
                    Response<List<String>> hmget = p.hmget(keys.COUNTS_KEY, hashesString);
                    p.sync();
                    counts = hmget.get().stream().map(Long::valueOf).collect(Collectors.toList());
                } else {
                    return Collections.min(counts);
                }
            }
View Full Code Here

  @Override
  public void setLastEntries(Feed feed, List<String> entries) {
    try (Jedis jedis = pool.getResource()) {
      String key = buildRedisEntryKey(feed);

      Pipeline pipe = jedis.pipelined();
      pipe.del(key);
      for (String entry : entries) {
        pipe.sadd(key, entry);
      }
      pipe.expire(key, (int) TimeUnit.DAYS.toSeconds(7));
      pipe.sync();
    }
  }
View Full Code Here

  @Override
  public void setUserRootCategory(User user, Category category) {
    try (Jedis jedis = pool.getResource()) {
      String key = buildRedisUserRootCategoryKey(user);

      Pipeline pipe = jedis.pipelined();
      pipe.del(key);
      pipe.set(key, MAPPER.writeValueAsString(category));
      pipe.expire(key, (int) TimeUnit.MINUTES.toSeconds(30));
      pipe.sync();
    } catch (JsonProcessingException e) {
      log.error(e.getMessage(), e);
    }
  }
View Full Code Here

  @Override
  public void setUnreadCount(FeedSubscription sub, UnreadCount count) {
    try (Jedis jedis = pool.getResource()) {
      String key = buildRedisUnreadCountKey(sub);

      Pipeline pipe = jedis.pipelined();
      pipe.del(key);
      pipe.set(key, MAPPER.writeValueAsString(count));
      pipe.expire(key, (int) TimeUnit.MINUTES.toSeconds(30));
      pipe.sync();
    } catch (Exception e) {
      log.error(e.getMessage(), e);
    }
  }
View Full Code Here

  }

  @Override
  public void invalidateUserRootCategory(User... users) {
    try (Jedis jedis = pool.getResource()) {
      Pipeline pipe = jedis.pipelined();
      if (users != null) {
        for (User user : users) {
          String key = buildRedisUserRootCategoryKey(user);
          pipe.del(key);
        }
      }
      pipe.sync();
    }
  }
View Full Code Here

TOP

Related Classes of redis.clients.jedis.Pipeline

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.