如何在Java zSet removeRangeByScore和reverseRangeByScore操作中使用通配符关键字中的RedisTemplate zSet值从redis中获取和删除所有值
我正在尝试*连接,但它不起作用。
redisTemplate.opsForZSet().removeRangeByScore(empId + "*", Double.MIN_VALUE, Double.MAX_VALUE)
要找到
redisTemplate.opsForZSet().reverseRangeByScore(empId + "*", Double.MIN_VALUE, Double.MAX_VALUE);
发布于 2019-12-28 03:45:40
您需要首先获取密钥集:
Set<String> keys = redisTemplate.keys(empId + "*");
然后你需要循环:
for (String key : keys) {
redisTemplate.del(key);
}
请注意,从zSet中删除所有值与删除zSet相同。Redis会删除空集。这就是我使用上面的del
的原因。
要按得分倒序获取所有值,请确保使用Double.NEGATIVE_INFINITY
和Double.POSITIVE_INFINITY
,因为在Redis中这两个值将转换为-inf
和+inf
。您还需要遍历此处的所有键。
https://stackoverflow.com/questions/59504917
复制相似问题