集合(set)类型用来存储无序字符串,每个字符串称为元素,一个列表最多保存2的32次幂-1个元素。
集合(set)类型的特点
- 集合(set)的元素是无序的,不能通过索引下标获取元素
- 集合(set)中的元素不允许重复
添加集合元素(sadd key element[element ...]) 返回结果为添加成功的元素个数
127.0.0.1:6379> sadd settest one two
(integer) 2
127.0.0.1:6379> sadd settest one thrre
(integer) 1
删除集合中的元素(srem key element [element ...]) 返回结果为删除成功元素的个数
127.0.0.1:6379> srem settest one
(integer) 1
127.0.0.1:6379> srem settest fo
(integer) 0
获取集合元素的个数(scard key)
127.0.0.1:6379> scard settest
(integer) 2
判断集合中是否存在元素(sismember key element),存在返回1,不存在返回0
127.0.0.1:6379> sismember settest one
(integer) 1
127.0.0.1:6379> sismember settest eit
(integer) 0
获取集合中的所有元素(smembers key)
127.0.0.1:6379> smembers settest
1) "four"
2) "one"
3) "two"
4) "thrre"
5) "five"
随机重集合获取指定个数元素(srandmember key [count])
127.0.0.1:6379> srandmember settest 4
1) "thrre"
2) "four"
3) "two"
4) "five"
127.0.0.1:6379> srandmember settest
"two"
随机重集合获取指定个数元素(spop key [count ])会删除随机弹出的元素
127.0.0.1:6379> smembers settest
1) "four"
2) "one"
3) "two"
4) "thrre"
5) "five"
127.0.0.1:6379> spop settest 1
1) "four"
127.0.0.1:6379> smembers settest
1) "one"
2) "two"
3) "thrre"
4) "five"
获取多个集合的交集(sinter key [key ...])
127.0.0.1:6379> sinter settest settest2
1) "one"
2) "two"
获取多个集合的并集(sunion key [key ...])
127.0.0.1:6379> sunion settest settest2
1) "kk"
2) "one"
3) "two"
4) "eit"
5) "thrre"
6) "five"
获取多个集合的差集(sdiff key [key ...])
127.0.0.1:6379> sdiff settest settest2
1) "five"
2) "thrre"
127.0.0.1:6379> sdiff settest2 settest
1) "kk"
2) "eit"