在使用Spring + Jedis设置时,有序集合如何在Redis中存储?
- 论坛
- 在使用Spring + Jedis设置时,有序集合如何在Redis中存储?
4 浏览
在使用Spring + Jedis设置时,有序集合如何在Redis中存储?
我有一个使用Spring 4.3.9的应用程序,其中包含spring-data-redis(1.8.7)和jedis(2.9.0)。我可以使用以下代码轻松设置和检索ZSET:
// 注释掉 -- 但下面的代码也可以正常工作 // redisTemplate.opsForZSet().remove("score", userId); Double scoreInRedis = redisTemplate.opsForZSet().score("score", userId); redisTemplate.opsForZSet().add("score", userId, (double) score);
然而,当我转到redis CLI并尝试使用"score"键检索ZSET时,返回的结果为空。所以我尝试了以下命令:
ZCARD "score" <-- 这应该返回项目数量
(integer) 0
ZSCORE "score" userId <--> 这里我使用了实际的userId
(nil)
其他命令如ZREVRANGE或ZREVRANGEBYSCORE都返回(nil)。
我知道我的键已经设置好了,因为"info keyspace"显示键和过期键之间的差异恰好为1 -- 这就是我的分数ZSET。如果我从我的Spring应用程序中删除ZSET,键和过期键的数量是相同的。所以我知道我的键确实存在。
哥们,我的ZSET在哪里?我如何通过CLI访问它?我可以轻松地继续开发而不使用CLI,但我想了解我做错了什么。