redis学习笔记6--集合类型

在集合中的每个元素都是去重的,且没有顺序。

// 集合类型与列表类型对比

集合类型
列表类型
存储内容
至多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"

你可能感兴趣的:(redis,set)