单个命令与按范围排序的redis集合相交

单个命令与按范围排序的redis集合相交,redis,jedis,Redis,Jedis,redis: 欧佩拉特: redis>zadd zsetA 1 'A' redis>zadd zsetA 2 'B' redis>zadd zsetA 3 'C' redis>zadd zsetA 5 'E' redis>zadd zsetB 1 'A' redis>zadd zsetB 2 'B' redis>zadd zsetB 3 'C' redis>zadd zsetB 4 'D' 如何在sigle命令中快速获取“结果”?编辑:Woops

redis:

欧佩拉特:

redis>zadd zsetA 1 'A'
redis>zadd zsetA 2 'B'
redis>zadd zsetA 3 'C'
redis>zadd zsetA 5 'E'
redis>zadd zsetB 1 'A'
redis>zadd zsetB 2 'B'
redis>zadd zsetB 3 'C'
redis>zadd zsetB 4 'D'
如何在sigle命令中快速获取“结果”?

编辑:Woops!回到我回答这个问题的那一天,我没有抓住问题的重点,而这个答案并不是最初的问题所要问的

我想你要找的是
ZINTERSTORE
()

使用上面的示例,它将类似于:

redis.ZINTERSTORE结果,2,'zsetA','zsetB'


通过运行redis.ZRANGE result,0,-1

可以访问结果,您希望a和b相交还是并集?(检查标题和你写的元代码)@TommasoBarbugli抱歉。“交叉点”你找到答案了吗?我认为这不太可能产生请求者指定的输出。他们感兴趣的是两个分数区间“切片”输出的交集,而不是全局交集。我同意,我当时犯了一个错误。你对这个答案怎么办?删除它?我会继续更新它,或者只是将它标记为“哎哟”(就像我们已经做的那样)
a=redis.ZRANGEBYSCORE 'zsetA',1,3
b=redis.ZRANGEBYSCORE 'zsetB',2,4
result=a∩b