SET
无序不重复集合
增删查移
| 标题 | |
|---|
sadd | 将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略。假如 key 不存在,则创建一个只包含 member 元素作成员的集合。当 key 不是集合类型时,返回一个错误。 |
smembers | 返回集合 key 中的所有成员。不存在的 key 被视为空集合。 |
sismember | 判断 member 元素是否集合 key 的成员。返回值:1存在,0不存在 |
scard | 返回集合 key 的基数(集合中元素的数量)。 |
srandmember | 如果命令执行时,只提供了 key 参数,那么返回集合中的一个随机元素。详情 |
spop | 移除并返回集合中的一个随机元素。 |
smove | 将 member 元素从 source 集合移动到 destination 集合。详情 |
127.0.0.1:6379> sadd myset a b c d e
(integer) 5
127.0.0.1:6379> smembers myset
1) "c"
2) "a"
3) "d"
4) "b"
5) "e"
127.0.0.1:6379> sismember myset c
(integer) 1
127.0.0.1:6379> sismember myset z
(integer) 0
127.0.0.1:6379> scard myset
(integer) 5
127.0.0.1:6379> srem myset c
(integer) 1
127.0.0.1:6379> smembers myset
1) "b"
2) "d"
3) "a"
4) "e"
127.0.0.1:6379> srandmember myset
"b"
127.0.0.1:6379> srandmember myset
"e"
127.0.0.1:6379> srandmember myset
"d"
127.0.0.1:6379> spop myset
"a"
127.0.0.1:6379> smembers myset
1) "b"
2) "d"
3) "e"
127.0.0.1:6379> sadd myset2 g h i j k
(integer) 5
127.0.0.1:6379> smove myset myset2 d
(integer) 1
127.0.0.1:6379> smembers myset2
1) "i"
2) "h"
3) "d"
4) "j"
5) "g"
6) "k"
集合操作
| 标题 | |
|---|
sdiff | 返回一个集合的全部成员,该集合是所有给定集合之间的差集。不存在的 key 被视为空集。 |
sinter | 返回一个集合的全部成员,该集合是所有给定集合的交集。不存在的 key 被视为空集。当给定集合当中有一个空集时,结果也为空集(根据集合运算定律)。 |
sunion | 返回一个集合的全部成员,该集合是所有给定集合的并集。不存在的 key 被视为空集。 |
127.0.0.1:6379> sadd set1 a b c d
(integer) 4
127.0.0.1:6379> sadd set2 c d e
(integer) 3
127.0.0.1:6379> sdiff set1 set2
1) "a"
2) "b"
127.0.0.1:6379> sinter set1 set2
1) "c"
2) "d"
127.0.0.1:6379> sunion set1 set2
1) "d"
2) "b"
3) "c"
4) "a"
5) "e"