Redis ZINTERSTORE 命令

Redis 有序集合(ZSet)

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

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

 

1. 语法

redis ZINTERSTORE 命令基本语法如下:

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

 

2. 可用版本

>= 2.0.0

 

3. 返回值

保存到目标结果集的的成员数量。

 

4. 范例

# 有序集 mid_test
redis 127.0.0.1:6379> ZADD mid_test 70 "Li Lei"
(integer) 1
redis 127.0.0.1:6379> ZADD mid_test 70 "Han Meimei"
(integer) 1
redis 127.0.0.1:6379> ZADD mid_test 99.5 "Tom"
(integer) 1

# 另一个有序集 fin_test
redis 127.0.0.1:6379> ZADD fin_test 88 "Li Lei"
(integer) 1
redis 127.0.0.1:6379> ZADD fin_test 75 "Han Meimei"
(integer) 1
redis 127.0.0.1:6379> ZADD fin_test 99.5 "Tom"
(integer) 1

# 交集
redis 127.0.0.1:6379> ZINTERSTORE sum_point 2 mid_test fin_test
(integer) 3

# 显示有序集内所有成员及其分数值
redis 127.0.0.1:6379> ZRANGE sum_point 0 -1 WITHSCORES     
1) "Han Meimei"
2) "145"
3) "Li Lei"
4) "158"
5) "Tom"
6) "199"

Redis 有序集合(ZSet)

Redis ZLEXCOUNT 命令在计算有序集合中指定字典区间内成员数量。语法:redis ZLEXCOUNT 命令基本语法如下:ZLEXCOUNT KEY MIN MAX。可用版本:>= 2.8.9。返回值:指定区间内的成员数量。