我有以下两个集合,我试图将它们相交并存储结果:

127.0.0.1:6379> smembers out2
1) "judy_1"

127.0.0.1:6379> zrange dateset 0 -1 withscores
 1) "judy_4"
 2) "118903"
  ....
19) "judy_1"
20) "137967"

你可以看到“朱迪1”同时出现在集合和zset中(w/相关得分137967)。我想把“out2”和“dateset”交叉起来,留下“judy_1”并得分。
我试图执行此操作并将结果存储在“result”中,但它返回了一个空集。
127.0.0.1:6379> zinterstore result 2 out2 dataset
(integer) 0
127.0.0.1:6379>
127.0.0.1:6379> smembers result
(empty list or set)
127.0.0.1:6379> zrange result 0 -1
(empty list or set)

非常感谢您的帮助!

最佳答案

它在我这边起作用。

redis 127.0.0.1:6379> sadd out2 judy_1
(integer) 1
redis 127.0.0.1:6379> zadd dataseet 118903 judy_4
(integer) 1
redis 127.0.0.1:6379> zadd dataseet 137967 judy_1
(integer) 1
redis 127.0.0.1:6379> zrange dataseet 0 -1 withscores
1) "judy_4"
2) "118903"
3) "judy_1"
4) "137967"
redis 127.0.0.1:6379> zinterstore result 2 out2 dataseet
ZRANGE  result 0 -1
1) "judy_1"

你在用哪个版本?

关于redis - 相交的zset和set在Redis中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21742444/

10-15 07:44