Redis 基础教程

Redis 命令

Redis 高级教程

Redis 笔记

Redis ZINTERSTORE 命令

Redis 有序集合 Redis 有序集合


ZINTERSTORE 命令计算给定的一个或多个有序集的交集,其中给定 key 的数量必须以 numkeys 参数指定,并将该交集(结果集)储存到 destination。

命令格式

ZINTERSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]

默认情况下,WEIGHTS 是1,AGGREGATESUM,即结果集中某个成员的分数值是所有给定集下该成员分数值之和。

可用版本:>=2.0.0

时间复杂度:O(N*K)+O(M*log(M)),N 为给定 key 中基数最小的有序集, K 为给定有序集的数量,M 为结果集的基数

命令返回值

保存到 destination 的结果集的基数(成员的个数)。

示例

redis> ZADD myzset 1 member_one
(integer) 1
redis> ZADD myzset 2 member_two
(integer) 1
redis> ZADD myzset1 1 member_one
(integer) 1
redis> ZADD myzset1 2 member_two
(integer) 1
redis> ZADD myzset1 3 member_three
(integer) 1
redis> ZINTERSTORE out 2 myzset myzset1 WEIGHTS 1 2 
(integer) 2
redis> ZRANGE out 0 -1 WITHSCORES
1) "member_one"
2) "3"
3) "member_two"
4) "6"