2019独角兽企业重金招聘Python工程师标准>>>
// 集合类型与列表类型对比
|
集合类型 |
列表类型 |
存储内容 |
至多2^32-1个字符串 |
至多2^32-1个字符串 |
有序性 |
否 |
是 |
唯一性 |
是 |
否 |
// 命令
1. 增加/删除元素
127.0.0.1:6379> sadd letters a
(integer) 1 # 返回值是成功加入的元素数量。
127.0.0.1:6379> sadd letters a b c
(integer) 2 # 'a'已经存在,所以实际只加入了两个元素。
127.0.0.1:6379> srem letters c d
(integer) 1 # 返回实际删除元素个数,因为‘d’并不存在与集合中,实际只删除了一个。
2. 获得集合中的所有元素
127.0.0.1:6379> smembers letters
1) "b"
2) "a"
3. 判断元素是否存在集合中
127.0.0.1:6379> sismember letters a
(integer) 1
127.0.0.1:6379> sismember letters d
(integer) 0
4. 集合间运算
差集A-B:
127.0.0.1:6379> sadd setA 1 2 3
(integer) 3
127.0.0.1:6379> sadd setB 2 3 4
(integer) 3
127.0.0.1:6379> sdiff setA setB
1) "1"
B-A:
127.0.0.1:6379> sdiff setB setA
1) "4"
A-B-C:
127.0.0.1:6379> sadd setC 2 3
(integer) 2
127.0.0.1:6379> sdiff setA setB setC
1) "1"
交集
127.0.0.1:6379> sadd setA 1 2 3
(integer) 3
127.0.0.1:6379> sadd setB 2 3 4
(integer) 3
127.0.0.1:6379> sadd setC 2 3
(integer) 2
A∩B:
127.0.0.1:6379> sinter setA setB
1) "2"
2) "3"
A∩B∩C
127.0.0.1:6379> sinter setA setB setC
1) "2"
2) "3"
并集
A∪B:
127.0.0.1:6379> sunion setA setB
1) "1"
2) "2"
3) "3"
4) "4"
A∪B∪C:
127.0.0.1:6379> sunion setA setB setC
1) "1"
2) "2"
3) "3"
4) "4"
5. 获得集合中元素个数
127.0.0.1:6379> smembers setA
1) "1"
2) "2"
3) "3"
127.0.0.1:6379> scard setA
(integer) 3
6. 从集合中弹出一个元素
127.0.0.1:6379> smembers setC
1) "2"
2) "3"
127.0.0.1:6379> spop setC
"3"
127.0.0.1:6379> smembers setC
1) "2"