- 用法
-
ZINTERSTORE destination numkeys key [ key ... ] [ WEIGHTS weight ] [ [ WEIGHTS weight ] ... ] [ AGGREGATE SUM | MIN | MAX ]
- 复杂度
- 最坏情况下为 O(N*K)+O(M*log(M)),其中 N 是最小的输入有序集合,K 是输入有序集合的数量,M 是结果有序集合中的元素数量。
- 自从
- 2.0.0
- ACL 类别
- @sortedset, @write, @slow
计算给定键的 numkeys
个有序集合的交集,并将结果存储在 destination
中。在传递输入键和其他(可选)参数之前,必须提供输入键的数量(numkeys
)。
默认情况下,一个元素的最终分数是其在所存在的有序集合中的分数的总和。由于交集要求一个元素是每个给定有序集合的成员,因此结果有序集合中每个元素的分数将等于输入有序集合的数量。
有关 WEIGHTS
和 AGGREGATE
选项的说明,请参阅 ZUNIONSTORE
。
如果 destination
已经存在,它将被覆盖。
示例
127.0.0.1:6379> ZADD zset1 1 "one"
(integer) 1
127.0.0.1:6379> ZADD zset1 2 "two"
(integer) 1
127.0.0.1:6379> ZADD zset2 1 "one"
(integer) 1
127.0.0.1:6379> ZADD zset2 2 "two"
(integer) 1
127.0.0.1:6379> ZADD zset2 3 "three"
(integer) 1
127.0.0.1:6379> ZINTERSTORE out 2 zset1 zset2 WEIGHTS 2 3
(integer) 2
127.0.0.1:6379> ZRANGE out 0 -1 WITHSCORES
1) "one"
2) "5"
3) "two"
4) "10"
RESP2/RESP3 回复
整数回复:destination 中结果有序集合的成员数量。