首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用通配符使用RedisTemplate zSet从redis中获取所有值和删除所有值

使用通配符使用RedisTemplate zSet从redis中获取所有值和删除所有值
EN

Stack Overflow用户
提问于 2019-12-28 02:52:21
回答 1查看 630关注 0票数 1

如何在Java zSet removeRangeByScore和reverseRangeByScore操作中使用通配符关键字中的RedisTemplate zSet值从redis中获取和删除所有值

我正在尝试*连接,但它不起作用。

代码语言:javascript
复制
redisTemplate.opsForZSet().removeRangeByScore(empId + "*", Double.MIN_VALUE, Double.MAX_VALUE)

要找到

代码语言:javascript
复制
redisTemplate.opsForZSet().reverseRangeByScore(empId + "*", Double.MIN_VALUE, Double.MAX_VALUE);
EN

回答 1

Stack Overflow用户

发布于 2019-12-28 03:45:40

您需要首先获取密钥集:

代码语言:javascript
复制
Set<String> keys = redisTemplate.keys(empId + "*");

然后你需要循环:

代码语言:javascript
复制
for (String key : keys) {
    redisTemplate.del(key);
}

请注意,从zSet中删除所有值与删除zSet相同。Redis会删除空集。这就是我使用上面的del的原因。

要按得分倒序获取所有值,请确保使用Double.NEGATIVE_INFINITYDouble.POSITIVE_INFINITY,因为在Redis中这两个值将转换为-inf+inf。您还需要遍历此处的所有键。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59504917

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档