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

1.3. 参考

Copyright © wychuan.com 2017 all right reserved,powered by Gitbook该文件修订时间: 2017-10-17 02:48:52

results matching ""

    No results matching ""