# Zinterstore

计算给定的一个或多个有序集的交集并将结果集存储在新的有序集合 key 中

语法

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

    2.0.0

  • 时间复杂度:

    O(N K)+O(M log(M)) 最坏情况,N 是最小的输入排序集,K 是输入排序集的数量,M 是结果排序集中的元素数。

  • ACL 类别:

    @write, @sortedset, @slow

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

默认情况下,元素的最终分数是其在其存在的排序集中的分数之和。因为交集要求一个元素是每个给定排序集的成员,这导致结果排序集中每个元素的分数等于输入排序集的数量。

有关“WEIGHTS”和“AGGREGATE”选项的说明,请参阅ZUNIONSTORE

如果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> ZINTERSTORE out 2 zset1 zset2 WEIGHTS 2 3
(integer) 2
redis> ZRANGE out 0 -1 WITHSCORES
1) "one"
2) "5"
3) "two"
4) "10"
redis> 

# 反馈

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

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