我正在使用spring redistemplate连接到redis。我使用zadd添加数据,然后调用zrange检查数据值。它返回的数据很好,但当我调用key*时,我没有得到任何结果。真糊涂!!救命啊!!但当我运行绝地武士时,它运行得很好,我看到来自cli等的条目。
System.out.println("********** ZRANGE IS " + redisTemplate.zrange(patternEmailsSetKey, 0l, -1l));
final Set<String> keys = redisTemplate.hkeys("*");
System.out.println("&&&&&&&&&&&&&&& KEY SIZE IS " + keys.size());
for(String key: keys) {
System.out.println("key: "+ key);
}
返回
**********z范围是[{“subject”:“ab”,“eest”:“aa”,“url”:[“aa”,“ss”],“dd”:0,“id”:11,“bid”:999}]
&&&&&&&&&&&&&&&密钥大小为0
最佳答案
ZRANGE
和ZADD
是Sorted Set
的命令,而HKEYS
是HASH
的命令。因此,在尝试获取Sorted Set
的字段时,您正在向HASH
添加元素。
如果要获取Sorted Set
的所有成员,则需要使用ZSCAN
命令。