1. SDIFF key [key ...]
起始版本:1.0.0
时间复杂度:O(N), N 是所有给定集合的成员数量之和。
返回一个集合与给定集合的差集的元素. 举例:
key1 = {a,b,c,d}
key2 = {c}
key3 = {a,c,e}
SDIFF key1 key2 key3 = {b,d}
不存在的key认为是空集.
1.1. 返回值
结果集的元素.
1.2. demo
# 如果指定的key不存在,认为key为空集合,其和任何集合的差集是空集合
127.0.0.1:6379> EXISTS myset
(integer) 0
127.0.0.1:6379> SDIFF myset
(empty list or set)
127.0.0.1:6379> SADD myset2 b d
(integer) 2
127.0.0.1:6379> SDIFF myset myset2
(empty list or set)
# 如果不传要比较的key,则认定被比较的key为空集合,返回自身
127.0.0.1:6379> SDIFF myset2
1) "b"
2) "d"
# 正常情况,返回差集
127.0.0.1:6379> SADD myset a b c d
(integer) 4
127.0.0.1:6379> SDIFF myset myset2
1) "c"
2) "a"
127.0.0.1:6379> SDIFF myset2 myset
(empty list or set)
# 如果指定的key不是set类型,返回错误
127.0.0.1:6379> TYPE key1
string
127.0.0.1:6379> SDIFF myset key1
(error) WRONGTYPE Operation against a key holding the wrong kind of value
127.0.0.1:6379> SDIFF key1 myset
(error) WRONGTYPE Operation against a key holding the wrong kind of value