首页/数据/数据库速查/ZUNIONSTORE / ZINTERSTORE 带权合并
本包目录(495 条)
MySQL 基础与连接36 条SQL 语法52 条用户与权限21 条备份与恢复56 条主从复制与高可用53 条性能与调优57 条
Redis 命令96 条
Redis 运维与场景124 条

ZUNIONSTORE / ZINTERSTORE 带权合并

多 ZSet 合并计算:WEIGHTS 加权重、AGGREGATE SUM/MIN/MAX 指定聚合方式,结果存到目标键;适合周榜/月榜汇总。

数据库速查数据更新于 2026-10-12

示例

示例
ZADD d1 10 u1 20 u2
ZADD d2 30 u1 5 u2
ZUNIONSTORE week 2 d1 d2            # 默认 SUM:u1=40 u2=25
ZUNIONSTORE week2 2 d1 d2 WEIGHTS 2 1 AGGREGATE MAX
# 加权重:u1=max(20,30)=30
ZINTERSTORE both 2 d1 d2 AGGREGATE MIN   # 交集取小
ZUNIONSTORE tmp 2 d1 d2   # 记得给结果键设过期
EXPIRE tmp 3600
WEIGHTS每个输入集合的系数,默认 1
AGGREGATESUM(默认)/MIN/MAX
返回结果集成员数
SET 的 SUNION 与 ZSet 的 ZUNIONSTORE 名字相近但结果不同:后者带分数聚合,注意别在一个需求里混用。

易错点

  • 结果键忘记 EXPIRE:临时汇总键长期占内存
  • 把聚合内存算在目标键:结果覆盖写入是 O(N),大数据集在高峰期合并会阻塞

数据来源与参考

  • Redis 官方文档: ZUNIONSTORE
  • Redis 官方文档: ZINTERSTORE

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌