zunionstore
ZUNIONSTORE
ZUNIONSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]
自2.0.0起可用。
时间复杂度:
O(N)+ O(M log(M)),其中 N 是输入排序集合的大小之和,M 是结果排序集合中元素的数量。
计算numkeys
指定键给出的有序集合的并集,并将结果存储在中destination
。numkeys
在传递输入键和其他(可选)参数之前,必须提供输入键()的数量。
默认情况下,元素的结果得分是其存在的有序集合中的得分总和。
使用WEIGHTS
选项,可以为每个输入排序集指定一个乘法因子。这意味着在传递给聚合函数之前,每个输入排序集合中的每个元素的分数都乘以该因子。当WEIGHTS
没有给出时,乘法因子默认为1
。
使用AGGREGATE
选项,可以指定如何汇总工会的结果。该选项默认为SUM
,元素的分数在其存在的输入中求和。当此选项设置为MIN
或时MAX
,结果集将包含输入中存在的输入的最小或最大分数。
如果destination
已经存在,它将被覆盖。
返回值
整数回复:在destination
的排序集中的元素数。
例子
redis> ZADD zset1 1 "one" (integer) 1 redis> ZADD zset1 2 "two" (integer) 1 redis> ZADD zset2 1 "one" (integer) 1 redis> ZADD zset2 2 "two" (integer) 1 redis> ZADD zset2 3 "three" (integer) 1 redis> ZUNIONSTORE out 2 zset1 zset2 WEIGHTS 2 3 (integer) 3 redis> ZRANGE out 0 -1 WITHSCORES 1) "one" 2) "5" 3) "three" 4) "9" 5) "two" 6) "10"