*Redis ZUNIONSTORE 命令 计算并集并存储到新有序集合

*语法

ZUNIONSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM | MIN | MAX]

*说明

计算多个有序集合的并集,并将结果存储到 destination

选项

  • WEIGHTS:权重系数
  • AGGREGATE:score 计算方式(SUM/MIN/MAX)

*返回值

  • Integer:存储到 destination 的成员数量

*时间复杂度

  • O(N)+O(M*log(M)),其中 N 是所有集合成员总数,M 是结果数量。

*版本兼容性

Redis 版本 变更说明
>= 2.0.0 可用

*示例

redis-cli ZADD zset1 1 "a" 2 "b" 3 "c"
redis-cli ZADD zset2 1 "a" 2 "d" 4 "e"

# 基本并集存储
redis-cli ZUNIONSTORE result 2 zset1 zset2
redis-cli ZRANGE result 0 -1 WITHSCORES

# 带权重的并集存储
redis-cli ZUNIONSTORE wresult 2 zset1 zset2 WEIGHTS 2 3

# 使用 MIN 聚合
redis-cli ZUNIONSTORE minresult 2 zset1 zset2 AGGREGATE MIN