SDIFFCARD
计算多个集合的差集元素数。
语法
SDIFFCARD numkeys key [key ...] [LIMIT limit]
引入版本:8.10.0
复杂度摘要:O(N)
[!NOTE] 此命令的行为在集群 Redis 环境中有所不同。请参阅 多键操作 页面了解更多信息。
返回第一组与所有连续组之间的差的基数。这是 SDIFF 的仅计数对应项:它仅返回差异中的元素数量,而不返回成员本身。
必需参数
numkeys
后面的键的数量。
key [key ...]
一个或多个设置键。结果对第一组中不存在于任何后续组中的成员进行计数。
可选参数
LIMIT limit
一旦基数达到limit,就停止计数。 0(默认)表示无限制。
示例
redis> SADD key1 "a"
(integer) 1
redis> SADD key1 "b"
(integer) 1
redis> SADD key1 "c"
(integer) 1
redis> SADD key2 "c"
(integer) 1
redis> SADD key2 "d"
(integer) 1
redis> SADD key2 "e"
(integer) 1
redis> SDIFF key1 key2
1) "b"
2) "a"
redis> SDIFFCARD 2 key1 key2
(integer) 2
redis> SDIFFCARD 2 key1 key2 LIMIT 1
(integer) 1
详细说明
不存在的键被认为是空集。
当提供可选的 LIMIT 参数(默认为 0,表示无限制)时,如果差值基数在计算中途达到 limit,则该命令将停止并返回 limit 作为基数。这确保了限制低于实际差异基数的查询的显着加速。
Redis Software 与 Redis Cloud 兼容性
| Redis 软件 |
Redis Cloud |
说明 |
|---|---|---|
| ❌ 标准 |
❌ 标准 |
返回值
RESP2
整数回复:结果差值中的元素数量。
RESP3
整数回复:结果差值中的元素数量。
参见
相关主题
资料来源:Redis 官方 SDIFFCARD 文档;中文内容参考 Redis 文档许可。