1. SDIFFSTORE destination key [key ...]

起始版本:1.0.0

时间复杂度:O(N), N 是所有给定集合的成员数量之和。

这个命令的作用和 SDIFF 类似,但它将结果保存到 destination 集合,而不是简单地返回结果集。

如果 destination 集合已经存在,则将其覆盖。

destination 可以是 key 本身。

1.1. 返回值

结果集的元素个数.

1.2. demo

# destination 的 key 不存在, 创建一个
127.0.0.1:6379> SMEMBERS myset
1) "d"
2) "b"
3) "c"
4) "a"
127.0.0.1:6379> SMEMBERS myset2
1) "d"
2) "b"
127.0.0.1:6379> EXISTS tset
(integer) 0
127.0.0.1:6379> SDIFFSTORE tset myset myset2
(integer) 2
127.0.0.1:6379> SMEMBERS tset
1) "c"
2) "a"

# destination 已存在, 覆盖之
127.0.0.1:6379> SDIFFSTORE tset myset2 myset
(integer) 0
127.0.0.1:6379> SMEMBERS tset
(empty list or set)
127.0.0.1:6379> EXISTS tset
(integer) 0

# destination 已存在, 且不是set类型,也会被覆盖
127.0.0.1:6379> TYPE key1
string
127.0.0.1:6379> SDIFFSTORE key1 myset myset2
(integer) 2
127.0.0.1:6379> SMEMBERS key1
1) "c"
2) "a"
127.0.0.1:6379> TYPE key1
set

# 如果指定的key不是set类型,返回错误
127.0.0.1:6379> set key1 v1
OK
127.0.0.1:6379> type key1
string
127.0.0.1:6379> SDIFF tset 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 ""