set 集合的特性
1. 无序性 {1,2} == {2,1}
2. 确定性
3. 唯一性
集合内的值是唯一不重复的
1. sadd KEY member [member1, member2 …]
向集合中添加元素,可以添加多个。返回已添加元素的个数
1 | 127.0.0.1:6379> sadd gender male female |
如果添加已添加的元素则返回 0,表示未添加成功,体现了集合的唯一性。
2. smembers KEY
查看集合中的元素,无序显示。
1 | 127.0.0.1:6379> smembers gender |
3. srem KEY member [member1, member2 …]
删除集合中的元素,可一次性删除多个元素。返回成功删除元素的个数。
1 | 127.0.0.1:6379> srem gender male man |
4. spop KEY [count]
返回并删除集合中 count 个随机元素,count 默认值是 1。体现了集合的无序性。
1 | 127.0.0.1:6379> sadd gender a b c d e f |
如果 count 数超出集合中的所有元素,则返回并删除集合中的所有元素。
5. srandmember KEY [count]
同 spop 类似。只不过这个只是返回集合中的元素,但是并不删除集合中的元素。
6. sismember KEY member
判断集合中是否存在 member。存在则返回 1,否则返回 0,区分大小写。
1 | 127.0.0.1:6379> sadd language java python go |
7. scard KEY
返回集合中所有元素的个数。
1 | 127.0.0.1:6379> scard language |
8. smove source dest member
将 source 集合中的 member 元素移动到 dest 集合中。若 dest 不存在则自动创建。移动成功返回 1,否则返回 0。
1 | 127.0.0.1:6379> sadd back java python go html |
9. sinter KEY1 KEY2 …
求集合的交集,并返回。
1 | 127.0.0.1:6379> sinter web back |
10. sunion KEY1 KEY2 …
求集合的并集,并返回。
1 | 127.0.0.1:6379> sunion web back |
11. sdiff KEY1 KEY2 …
求 KEY1 与 KEY2 以及 KEYN 的差集。
1 | 127.0.0.1:6379> sdiff web back |
12. sinterstore/sunionstore/sdiffstore dest KEY1 KEY2 …
将集合 KEY1 与集合 KEY2 … KEYN 的交集/并集/差集 存储到 dest 集合中。
1 | 127.0.0.1:6379> sunionstore dev web back |