2.6 Redis数据类型_Set 🎉
...大约 1 分钟
2.6 Redis数据类型_Set 🎉
与List类似是一个列表功能,但Set是自动排重的,当需要存储一个列表数据,又不希望出现重复数据时,Set是一个很好的选择。
Set是String类型的无序集合,它底层其实是一个value为null的hash表,所以添加、删除、查找的时间复杂度都是O(1)。
- sadd
将一个或多个元素添加到集合key中,已经存在的元素将被忽略。
sadd k1 v1 v2 v2 v3 v4 v5 v6 #最终只有v1 v2 v3 v4 v5 v6
- smembers
取出该集合的所有元素。
smembers k1
- sismember
判断集合key中是否含有value元素,如有返回1,否则返回0。
sismember k1 v1
- scard
返回该集合的元素个数。
scard k1
- srem
删除集合中的一个或多个成员元素,不存在的成员元素会被忽略。
srem k1 v1 v2
- spop
随机删除集合中一个元素并返回该元素。
spop key
- srandmember
随机取出集合中count个元素,但不会删除。
srandmember k1 2
- smove
将value元素从sourcekey集合移动到destinationkey集合中。
smove k1 k2 v5 # 将元素v5从集合k1中移动到集合k2
提示
如果 sourcekey集合不存在或不包含指定的 value元素,则 smove 命令不执行任何操作,仅返回 0 。
- sinter
返回两个集合的交集元素。
sinter key1 key2
- sunion
返回两个集合的并集元素。
sunion k1 k2
- sdiff
返回两个集合的差集元素(key1中的,不包含key2)
sdiff k1 k2
使用场景
- 黑白名单
- 随机展示
- 好友
- 关注人
- 粉丝
- 感兴趣的人集合
Powered by Waline v2.15.7