# Zunionstore

计算给定的一个或多个有序集的并集,并存储在新的 key 中

语法

ZUNIONSTORE destination numkeys key [key ...] [WEIGHTS weight
  [weight ...]] [AGGREGATE <SUM | MIN | MAX>]
  • 可用版本:

    2.0.0

  • 时间复杂度:

    O(N)+O(M log(M)),其中 N 是输入排序集的大小之和,M 是结果排序集中的元素数。

  • ACL 类别:

    @write, @sortedset, @slow

计算numkeys由指定键给定的排序集的并集,并将结果存储在destination. numkeys在传递输入键和其他(可选)参数之前,必须提供输入键的数量 (numkeys)。

默认情况下,一个元素的结果分数是它在它所在的排序集中的分数的总和。

使用该WEIGHTS选项,可以为每个输入排序集指定一个乘法因子。这意味着每个输入排序集中的每个元素的分数在传递给聚合函数之前都会乘以该因子。如果WEIGHTS未给出,则乘法因子默认为1

使用该AGGREGATE选项,可以指定联合结果的聚合方式。此选项默认为SUM,其中元素的分数在其存在的输入中求和。当此选项设置为MINorMAX时,结果集将包含元素在其存在的输入中的最小或最大分数。

如果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"
redis> 

# 反馈

如果您在此页面上发现问题,或有改进建议,请提交请求以合并或打开存储库中的问题。

Last Updated: 4/18/2023, 8:45:33 AM