最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Redis ZUNIONSTORE命令
时间:2026-08-07 12:12:51 编辑:袖梨 来源:一聚教程网
Redis ZUNIONSTORE 命令用于计算给定的一个或多个有序集的并集,其中给定 key 的数量必须以 numkeys 参数指定,并将该并集(结果集)储存到 destination 目标集合 。
注意:默认情况下,结果集中某个成员的分数值是所有给定集合中该成员的分数值之和。

语法
Redis ZUNIONSTORE 命令的基本语法如下:ZUNIONSTORE destination numkeys key [key ...] [WEIGHTS weight] [AGGREGATE SUM|MIN|MAX]
WEIGHTS
WEIGHTS 选项用来给每个有序集合分别指定一个加权因子,每个有序集合中所有成员的 score 值在传递给聚合函数(aggregation function)之前,都要先乘以该加权因子。如果没有指定 WEIGHTS 选项,加权因子默认设置为 1 。AGGREGATE
使用 AGGREGATE 选项,你可以指定并集的结果集的聚合方式。默认使用的参数 SUM ,可以将所有集合中某个成员的 score 值之和作为结果集中该成员的 score 值;使用 MIN 参数,可以将所有集合中某个成员的最小 score 值作为结果集中该成员的 score 值;而参数 MAX 则是将所有集合中某个成员的最大 score 值作为结果集中该成员的 score 值。返回值
保存到 destination 的结果集的成员数量。命令演示
127.0.0.1:6379> ZADD salary 3000 jack 3500 helen 2880 john 4000 simith 6000 ros #添加元素(integer) 5127.0.0.1:6379> ZADD salary1 1000 BaoAn 2000 ChuShi 1500 BaoJie(integer) 3#给salary1有序集合中所有成员工资翻倍。并将结果保存至salary2127.0.0.1:6379> ZUNIONSTORE salary2 2 salary salary1 WEIGHTS 1 2 (integer) 8127.0.0.1:6379> ZRANGE salary2 0 -1 withscores #查看所有元素1) "BaoAn"2) "2000"3) "john"4) "2880"5) "BaoJie"6) "3000"7) "jack"8) "3000"9) "helen"10) "3500"11) "ChuShi"12) "4000"13) "simith"14) "4000"15) "ros"16) "6000"