Redis SDIFF 命令

Redis 集合(Set)

Redis SDIFF 命令返回第一个集合与其他集合之间的差异,也可以认为说第一个集合中独有的元素。不存在的集合 key 将视为空集。

差集的结果来自前面的 FIRST_KEY,而不是后面的 OTHER_KEY1,也不是整个 FIRST_KEY OTHER_KEY1..OTHER_KEYN 的差集。

范例:

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

 

1. 语法

redis SDIFF 命令基本语法如下:

SDIFF FIRST_KEY OTHER_KEY1..OTHER_KEYN 

 

2. 可用版本

>= 1.0.0

 

3. 返回值

包含差集成员的列表。

 

4. 范例

redis 127.0.0.1:6379> SADD key1 "a"
(integer) 1
redis 127.0.0.1:6379> SADD key1 "b"
(integer) 1
redis 127.0.0.1:6379> SADD key1 "c"
(integer) 1
redis 127.0.0.1:6379> SADD key2 "c"
(integer) 1
redis 127.0.0.1:6379> SADD key2 "d"
(integer) 1
redis 127.0.0.1:6379> SADD key2 "e"
(integer) 1
redis 127.0.0.1:6379> SDIFF key1 key2
1) "a"
2) "b"

Redis 集合(Set)

Redis SDIFFSTORE 命令将给定集合之间的差集存储在指定的集合中。如果指定的集合 key 已存在,则会被覆盖。语法:redis SDIFFSTORE 命令基本语法如下:SDIFFSTORE DESTINATION_KEY KEY1..KEYN。返回值:结果集中的元素数量。