redis.clients.jedis.Tuple.getBinaryElement()方法的使用及代码示例

x33g5p2x  于2022-01-30 转载在 其他  
字(5.6k)|赞(0)|评价(0)|浏览(102)

本文整理了Java中redis.clients.jedis.Tuple.getBinaryElement()方法的一些代码示例,展示了Tuple.getBinaryElement()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Tuple.getBinaryElement()方法的具体详情如下:
包路径:redis.clients.jedis.Tuple
类名称:Tuple
方法名:getBinaryElement

Tuple.getBinaryElement介绍

暂无

代码示例

代码示例来源:origin: spring-projects/spring-data-redis

/**
 * Deprecated. Use #{@link JedisConverters#toTupleSet(Set)}
 */
@Deprecated
static Set<Tuple> convertJedisTuple(Set<redis.clients.jedis.Tuple> tuples) {
  Set<Tuple> value = new LinkedHashSet<>(tuples.size());
  for (redis.clients.jedis.Tuple tuple : tuples) {
    value.add(new DefaultTuple(tuple.getBinaryElement(), tuple.getScore()));
  }
  return value;
}

代码示例来源:origin: signalapp/Signal-Server

private void persistQueue(ReplicatedJedisPool jedisPool, Key key) throws IOException {
 Timer.Context timer = persistQueueTimer.time();
 int messagesPersistedCount = 0;
 try (Jedis jedis = jedisPool.getWriteResource()) {
  while (true) {
   jedis.setex(key.getUserMessageQueuePersistInProgress(), 30, "1".getBytes());
   Set<Tuple> messages = jedis.zrangeWithScores(key.getUserMessageQueue(), 0, CHUNK_SIZE);
   for (Tuple message : messages) {
    persistMessage(key, (long)message.getScore(), message.getBinaryElement());
    messagesPersistedCount++;
   }
   if (messages.size() < CHUNK_SIZE) {
    jedis.del(key.getUserMessageQueuePersistInProgress());
    return;
   }
  }
 } finally {
  timer.stop();
  queueSizeHistogram.update(messagesPersistedCount);
 }
}

代码示例来源:origin: apache/servicemix-bundles

/**
 * Deprecated. Use #{@link JedisConverters#toTupleSet(Set)}
 */
@Deprecated
static Set<Tuple> convertJedisTuple(Set<redis.clients.jedis.Tuple> tuples) {
  Set<Tuple> value = new LinkedHashSet<>(tuples.size());
  for (redis.clients.jedis.Tuple tuple : tuples) {
    value.add(new DefaultTuple(tuple.getBinaryElement(), tuple.getScore()));
  }
  return value;
}

代码示例来源:origin: org.springframework.data/spring-data-redis

/**
 * Deprecated. Use #{@link JedisConverters#toTupleSet(Set)}
 */
@Deprecated
static Set<Tuple> convertJedisTuple(Set<redis.clients.jedis.Tuple> tuples) {
  Set<Tuple> value = new LinkedHashSet<>(tuples.size());
  for (redis.clients.jedis.Tuple tuple : tuples) {
    value.add(new DefaultTuple(tuple.getBinaryElement(), tuple.getScore()));
  }
  return value;
}

代码示例来源:origin: yrain/smart-cache

public Set<Tuple> convertTupleToTupl(final Set<redis.clients.jedis.Tuple> tuples) {
  Set<Tuple> tupls = Sets.newHashSet();
  for (redis.clients.jedis.Tuple tuple : tuples) {
    Object element = deserializeVal(tuple.getBinaryElement());
    Double score = tuple.getScore();
    tupls.add(new Tuple(element, score));
  }
  return tupls;
}

代码示例来源:origin: Baqend/Orestes-Bloomfilter

@Override
public TimeMap<String> getExpirationMap() {
  try (Jedis jedis = pool.getResource()) {
    return jedis.zrangeWithScores(keys.EXPIRATION_QUEUE_KEY.getBytes(), 0, -1)
      .stream()
      .collect(TimeMap.collectMillis(
        tuple -> msgPack.decodeItem(tuple.getBinaryElement()),
        tuple -> (long) tuple.getScore()
      ));
  }
}

代码示例来源:origin: AmadeusITGroup/HttpSessionReplacer

/**
 * Renames Redis ZRANGE. As this operation may span multiple servers, we retrieve old ZRANGE, insert them (ZADD) at
 * newkey, then remove the old key. The
 *
 * @param oldkey
 *          the old key
 * @param newkey
 *          the new key
 * @return OK if succeeded, ERR otherwise - e.g. when oldkey doesn't exist
 */
String renameZRange(byte[] oldkey, byte[] newkey) {
 Set<Tuple> values = jedisCluster.zrangeWithScores(oldkey, 0, -1);
 if (values == null) {
  return "ERR";
 }
 Map<byte[], Double> scoreMembers = new HashMap<>(values.size());
 for (Tuple t : values) {
  scoreMembers.put(t.getBinaryElement(), t.getScore());
 }
 jedisCluster.zadd(newkey, scoreMembers);
 jedisCluster.del(oldkey);
 return "OK";
}

代码示例来源:origin: com.intoverflow.booster/booster-core

@Override
public Set<Object> keys() {
  return redisContext.call(jedis -> {
    Set<Object> set = new LinkedHashSet<>();
    while (true) {
      ScanResult<Tuple> zscan = jedis.zscan(keysetBytes, ScanParams.SCAN_POINTER_START_BINARY);
      List<Tuple> result = zscan.getResult();
      for (Tuple tuple : result) {
        byte[] key = tuple.getBinaryElement();
        Object oKey = fromKeyBytes(key);
        set.add(oKey);
      }
      String stringCursor = zscan.getStringCursor();
      if (stringCursor.equals(ScanParams.SCAN_POINTER_START)) {
        break;
      }
    }
    return set;
  });
}

代码示例来源:origin: com.intoverflow.booster/booster-core

@Override
public Map<Object, Object> toMap() {
  return redisContext.call(jedis -> {
    Map<Object, Object> map = new LinkedHashMap<>();
    while (true) {
      ScanResult<Tuple> zscan = jedis.zscan(keysetBytes, ScanParams.SCAN_POINTER_START_BINARY);
      List<Tuple> result = zscan.getResult();
      for (Tuple tuple : result) {
        byte[] key = tuple.getBinaryElement();
        byte[] val = jedis.get(key);
        if (val != null) {
          Object oKey = fromKeyBytes(key);
          map.put(oKey, deserialize(val));
        }
      }
      String stringCursor = zscan.getStringCursor();
      if (stringCursor.equals(ScanParams.SCAN_POINTER_START)) {
        break;
      }
    }
    return map;
  });
}

代码示例来源:origin: com.intoverflow.booster/booster-core

private void cleanExpiredKeys() {
  redisContext.run(jedis -> {
    long currentSeconds = System.currentTimeMillis() / 1000;
    long expiredTimeSeconds = currentSeconds - expireTime;// 过期元素的时点
    while (true) {
      ScanResult<Tuple> zscan = jedis.zscan(keysetBytes, ScanParams.SCAN_POINTER_START_BINARY);
      List<Tuple> result = zscan.getResult();
      for (Tuple tuple : result) {
        byte[] key = tuple.getBinaryElement();
        long score = (long) tuple.getScore();
        if (score < expiredTimeSeconds) {// 已过期
          Transaction multi = jedis.multi();
          multi.del(key);
          multi.zrem(keysetBytes, key);
          multi.exec();
        }
      }
      String stringCursor = zscan.getStringCursor();
      if (stringCursor.equals(ScanParams.SCAN_POINTER_START)) {
        break;
      }
    }
  });
}

代码示例来源:origin: com.intoverflow.booster/booster-core

List<Tuple> result = zscan.getResult();
for (Tuple tuple : result) {
  byte[] key = tuple.getBinaryElement();
  Transaction multi = jedis.multi();
  multi.del(key);

相关文章

微信公众号

最新文章

更多