?
This document uses PHP Chinese website manual Release
ZUNIONSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]
自2.0.0起可用。
時(shí)間復(fù)雜度: O(N)+ O(M log(M)),其中 N 是輸入排序集合的大小之和,M 是結(jié)果排序集合中元素的數(shù)量。
計(jì)算numkeys
指定鍵給出的有序集合的并集,并將結(jié)果存儲(chǔ)在中destination
。numkeys
在傳遞輸入鍵和其他(可選)參數(shù)之前,必須提供輸入鍵()的數(shù)量。
默認(rèn)情況下,元素的結(jié)果得分是其存在的有序集合中的得分總和。
使用WEIGHTS
選項(xiàng),可以為每個(gè)輸入排序集指定一個(gè)乘法因子。這意味著在傳遞給聚合函數(shù)之前,每個(gè)輸入排序集合中的每個(gè)元素的分?jǐn)?shù)都乘以該因子。當(dāng)WEIGHTS
沒(méi)有給出時(shí),乘法因子默認(rèn)為1
。
使用AGGREGATE
選項(xiàng),可以指定如何匯總工會(huì)的結(jié)果。該選項(xiàng)默認(rèn)為SUM
,元素的分?jǐn)?shù)在其存在的輸入中求和。當(dāng)此選項(xiàng)設(shè)置為MIN
或時(shí)MAX
,結(jié)果集將包含輸入中存在的輸入的最小或最大分?jǐn)?shù)。
如果destination
已經(jīng)存在,它將被覆蓋。
整數(shù)回復(fù):在destination
的排序集中的元素?cái)?shù)。
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"