集合类型
集合类型:无序、不可重复
列表类型:有序、可重复
命令:
1>增加/删除元素
语法:SADD key member [member …]
127.0.0.1:6379> sadd set a b c
(integer) 3
127.0.0.1:6379> sadd set a
(integer) 0
语法:SREM key member [member …]
127.0.0.1:6379> srem set c d
(integer) 1
2>获得集合中的所有元素
语法:SMEMBERS key
127.0.0.1:6379> smembers set
1) "b"
2) "a”
3>判断元素是否在集合中
语法:SISMEMBER key member
127.0.0.1:6379> sismember set a
(integer) 1
127.0.0.1:6379> sismember set h
(integer) 0
4>运算命令
集合的差集运算 A-B
属于A并且不属于B的元素构成的集合或属于B并且不属于A的元素构成的集合eg;
语法:SDIFF key [key …]
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"
127.0.0.1:6379> sdiff setB setA
1) "4"
集合的交集运算 A ∩ B
属于A且属于B的元素构成的集合
语法:SINTER key [key …]
127.0.0.1:6379> sinter setA setB
1) "2"
2) "3"
集合的并集运算 A ∪ B
属于A或者属于B的元素构成的集合
语法:SUNION key [key …]
127.0.0.1:6379> sunion setA setB
1) "1"
2) "2"
3) "3"
4) "4"
5>其他
@获得集合中元素的个数
语法:SCARD key
127.0.0.1:6379> smembers setA
1) "1"
2) "2"
3) "3"
127.0.0.1:6379> scard setA
(integer) 3
@从集合中弹出一个元素
注意:由于集合是无序的,所有SPOP命令会从集合中随机选择一个元素弹出
语法:SPOP key
127.0.0.1:6379> spop setA
"1“