ZINTER

返回多个有序集合的交集。

语法

ZINTER numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE ] [WITHSCORES]

引入版本:6.2.0

复杂度摘要:O(N*K)

[!NOTE] 此命令的行为在集群 Redis 环境中有所不同。请参阅 多键操作 页面了解更多信息。

该命令与 ZINTERSTORE 类似,但不是存储结果有序集合,而是将其返回给客户端。

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

必需参数

numkeys

后面的键的数量。

key [key ...]

一个或多个要相交的有序集合键。

可选参数

WEIGHTS weight [weight ...]

每个输入集的乘法因子;在聚合之前,每组的分数乘以其权重。每组默认为 1。

AGGREGATE SUM | MIN | MAX | COUNT

如何合并多个集合中存在的成员的分数:SUM(默认)、MIN、MAX 或 COUNT。

WITHSCORES

同时返回每个成员的分数。

示例

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> ZINTER 2 zset1 zset2
1) "one"
2) "two"
redis> ZINTER 2 zset1 zset2 WITHSCORES
1) "one"
2) "2"
3) "two"
4) "4"

Redis Software 与 Redis Cloud 兼容性

Redis
软件
Redis
Cloud
说明
✅ 标准
✅ 主动-主动
✅ 标准
✅ 主动-主动

返回值

RESP2

  • 数组回复:交集的结果,包括(可选)使用 WITHSCORES 选项时的分数。

RESP3

  • 数组回复:交集的结果,包括(可选)使用 WITHSCORES 选项时的分数。

资料来源:Redis 官方 ZINTER 文档;中文内容参考 Redis 文档许可。