set
- 无序集合
- 元素为string类型
- 元素具有唯一性,不重复
命令
设置
- 添加元素,无法添加重复元素
sadd key member [member ...]
例如:在集合里添加成员
127.0.0.1:6379> sadd s1 'jane' 'tony'
(integer) 2
例如:在集合中添加了重复的集合
127.0.0.1:6379> smembers s1
1) "tony"
2) "jane"
127.0.0.1:6379> sadd s1 'tony'
(integer) 0
127.0.0.1:6379> smembers s1
1) "tony"
2) "jane"
- 获取key集合里所有元素
smembers key
例如:获取s1键集合的元素
127.0.0.1:6379> smembers s1
1) "tony"
2) "jane"
- 获取key集合里所有元素个数
scard key
例如:获取s1键集合里所有元素的个数
127.0.0.1:6379> scard s1
(integer) 2
实例:分别求s1,s2,s3集合成员
127.0.0.1:6379> smembers s1
1) "tony"
2) "jane"
127.0.0.1:6379> smembers s2
1) "tony"
2) "jessy"
3) "mary"
127.0.0.1:6379> smembers s3
1) "thomas"
2) "jones"
- 求多个集合的交集
sinter key [key ... ]
例如:求是s1和s2的交集
127.0.0.1:6379> smembers s1
1) "tony"
2) "jane"
127.0.0.1:6379> smembers s2
1) "tony"
2) "jessy"
3) "mary"
127.0.0.1:6379> sinter s1 s2
1) "tony"
- 求多个集合的差集(差集的结果是以第一个集合为基准,也不是所有集合的差集)
sdiff key
例如:求s1和s2的差集
127.0.0.1:6379> smembers s1
1) "tony"
2) "jane"
127.0.0.1:6379> smembers s2
1) "tony"
2) "jessy"
3) "mary"
127.0.0.1:6379> sdiff s1 s2
1) "jane"
例如:求s2和s1的差集
127.0.0.1:6379> smembers s1
1) "tony"
2) "jane"
127.0.0.1:6379> smembers s2
1) "tony"
2) "jessy"
3) "mary"
127.0.0.1:6379> sdiff s2 s1
1) "jessy"
2) "mary"
- 求多个集合的合集
sunion key
例如:求s1,s2,s3的总集合
127.0.0.1:6379> smembers s1
1) "tony"
2) "jane"
127.0.0.1:6379> smembers s2
1) "tony"
2) "jessy"
3) "mary"
127.0.0.1:6379> smembers s3
1) "thomas"
2) "jones"
127.0.0.1:6379> sunion s1 s2 s3
1) "mary"
2) "jane"
3) "tony"
4) "jessy"
5) "jones"
6) "thomas"
- 判断一个集合的元素是否存在
sismember key member
例如:判断s1是否存在元素tony
127.0.0.1:6379> smembers s1
1) "tony"
2) "jane"
127.0.0.1:6379> sismember s1 tony
(integer) 1
例如:判断s1是否存在元素abc
127.0.0.1:6379> smembers s1
1) "tony"
2) "jane"
127.0.0.1:6379> sismember s1 abc
(integer) 0