SDIFF

返回多个集合的差值。

语法

SDIFF key [key ...]

引入版本:1.0.0

复杂度摘要:O(N)

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

返回由第一个集合和所有后续集合之间的差异产生的集合的成员。

例如:

key1 = {a,b,c,d}
key2 = {c}
key3 = {a,c,e}
SDIFF key1 key2 key3 = {b,d}

不存在的键被认为是空集。

必需参数

key [key ...]

一个或多个设置键。结果是第一组中不存在于任何后续组中的成员。

示例

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) "a"
2) "b"

Redis Software 与 Redis Cloud 兼容性

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

返回值

RESP2

数组回复:包含结果集成员的列表。

RESP3

设置回复:包含结果集成员的集合。

参见

SDIFFCARD | SDIFFSTORE

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