集合交集大小

语法
SINTERCARD numkeys key [key ...] [LIMIT limit]
自版本
7.0.0
时间复杂度
最坏情况为 O(N*M),其中 N 是最小集合的基数,M 是集合数量。
ACL 类别
@read, @set, @slow,

此命令类似于 SINTER,但它不返回结果集,而是返回结果集的基数。返回给定所有集合交集结果集的基数。

不存在的键被视为空集。当其中一个键为空集时,结果集也为空(因为与空集的交集总是为空集)。

默认情况下,该命令计算所有给定集合的交集的基数。当提供可选的 LIMIT 参数(默认为 0,表示无限制)时,如果交集基数在计算过程中达到限制,算法将退出并返回限制作为基数。这种实现确保了对于查询(其中限制低于实际交集基数)的显著速度提升。

示例

SADD key1 "a" SADD key1 "b" SADD key1 "c" SADD key1 "d" SADD key2 "c" SADD key2 "d" SADD key2 "e" SINTER key1 key2 SINTERCARD 2 key1 key2 SINTERCARD 2 key1 key2 LIMIT 1

RESP2/RESP3 回复

整数回复: 结果交集中的元素数量。
RATE THIS PAGE
Back to top ↑