Set集合是Redis中的无序集合,集合成员是唯一的,这就意味着集合中不能出现重复的数据.
集合内元素操作
1. 向集合中添加元素
代码语言:javascript复制127.0.0.1:6379> sadd key v1
(integer) 1
127.0.0.1:6379> sadd key v2
(integer) 1
127.0.0.1:6379> sadd key v1
(integer) 0
2. 返回集合中的所有元素
代码语言:javascript复制127.0.0.1:6379> smembers key
1) "v1"
2) "v2"
3. 返回集合中的元素总数
代码语言:javascript复制127.0.0.1:6379> scard key
(integer) 2
4. 判断集合中是否包含指定元素
代码语言:javascript复制127.0.0.1:6379> sismember key v1
(integer) 1
127.0.0.1:6379> sismember key v3
(integer) 0
5. 随机移除并返回集合中的一个元素
代码语言:javascript复制127.0.0.1:6379> sadd key v3
(integer) 1
127.0.0.1:6379> sadd key v4
(integer) 1
127.0.0.1:6379> spop key
"v3"
127.0.0.1:6379> smembers key
1) "v1"
2) "v4"
3) "v2"
127.0.0.1:6379> scard key
(integer) 3
6. 随机返回集合中指定数量的元素,但不移除
代码语言:javascript复制127.0.0.1:6379> srandmember key
"v1"
127.0.0.1:6379> srandmember key 2
1) "v2"
2) "v4"
127.0.0.1:6379> smembers key
1) "v1"
2) "v4"
3) "v2"
7. 移除集合元素
代码语言:javascript复制127.0.0.1:6379> srem key v1
(integer) 1
127.0.0.1:6379> srem key v5
(integer) 0
127.0.0.1:6379> smembers key
1) "v4"
2) "v2"
8. 迭代集合中的元素
代码语言:javascript复制127.0.0.1:6379> sscan key 0 match v*
1) "0"
2) 1) "v4"
2) "v2"
127.0.0.1:6379> sscan key 0 match a*
1) "0"
2) (empty list or set)
集合间操作
先准备第二个集合
代码语言:javascript复制127.0.0.1:6379> sadd key1 v2
(integer) 1
127.0.0.1:6379> sadd key1 s1
(integer) 1
127.0.0.1:6379> sadd key1 s2
(integer) 1
127.0.0.1:6379> smembers key1
1) "s1"
2) "s2"
3) "v2"
127.0.0.1:6379> smembers key
1) "v4"
2) "v2"
1. 返回给定所有集合的差集
代码语言:javascript复制127.0.0.1:6379> sdiff key key1
1) "v4"
2. 返回给定所有集合的差集并存储在指定集合中
代码语言:javascript复制127.0.0.1:6379> sdiffstore key2 key key1
(integer) 1
127.0.0.1:6379> smembers key2
1) "v4"
3. 返回多个给定集合的交集
代码语言:javascript复制127.0.0.1:6379> sinter key key1
1) "v2"
4. 返回多个集合的交集并存储在指定集合中
代码语言:javascript复制127.0.0.1:6379> sinterstore key3 key key1
(integer) 1
127.0.0.1:6379> smembers key3
1) "v2"
5. 返回所有给定集合的并集
代码语言:javascript复制127.0.0.1:6379> sunion key key1
1) "s1"
2) "s2"
3) "v2"
4) "v4"
6. 返回给定集合的并集存储在指定集合中
代码语言:javascript复制127.0.0.1:6379> sunionstore key4 key key1
(integer) 4
127.0.0.1:6379> smembers key4
1) "s1"
2) "s2"
3) "v2"
4) "v4"
7. 将元素从某一集合中移动到目标集合中
代码语言:javascript复制127.0.0.1:6379> smove key1 key s1
(integer) 1
127.0.0.1:6379> smembers key1
1) "v2"
2) "s2"
127.0.0.1:6379> smembers key
1) "s1"
2) "v4"
3) "v2"
了解了以上这些命令基本可以搞定你80%的工作了!~