目录搜索
文字
分享

Redis Zinterstore 命令


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

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

语法

redis Zinterstore 命令基本语法如下:

1

redis 127.0.0.1:6379> ZINTERSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]

可用版本

>= 2.0.0

返回值

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

实例

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

# 有序集 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"