目录
一、Redis中Set介绍
Redis set 对外提供的功能与list类似,是一个列表的功能
特点:
二、常用命令
| 命令 | 描述 |
|---|---|
| sadd <key> <value1> <value2>.. | 添加一个或多个元素到集合中 |
| smembers <key> | 取出该集合的所有值 |
| simembers <key> <value> | 判断集合中是否含有该<value>值 |
| scard <key> | 返回该集合的元素个数 |
| srem <key><value1><value> | 删除集合中和某几个元素 |
| spop <key> | 随机从该集合吐出一个元素 |
| srandmember <key> <n> | 随机从该集合中取出n个值,不会从集合中删除 |
| smove <source> <destination> <value> | 把集合中一个值从一个集合移动到另一个集合 |
三、示例
sadd <key> <value1> <value2>..
将一个或多个member元素加入到集合key中,已经存在的numnber将会被忽略
smembers <key>
取出该集合的所有值

simembers <key> <value>
判断集合中是否含有该<value>值,有返回1,没有返回0

scard <key>
返回该集合的元素个数

srem <key><value1><value> ..
删除集合中一个或几个元素

spop <key>
随机从该集合吐出一个元素,吐出后元素会消失

srandmember <key> <n>
随机从该集合中取出n个值,不会从集合中删除

smove <source> <destination> <value>
把集合中一个值从一个集合移动到另一个集合
这里主要用到了2个点,一个是这个smove的移动,还有就是因为移动的是v3到k2中,而k2中已经有了一个v3 而set是自动排重的,所以出现下面的结果

sinter <key1> <key2>
返回两个集合的交集元素
交集也就是两个集合共有的元素

sunion <key1> <key2>
返回两个集合并集元素
并集也就是2个集合的所有元素并去重的结果

sdiff <key1> <key2>
返回两个集合中的差集元素 (key1中的,不包含key2中的)

四、Set底层的数据结构
Set数据结构是dict字典,字典是用哈希表实现的。
好了,这次的文章就到这里,喜欢的同学可以点赞收藏,遇到问题,可以评论,或者留言,我一定会第一时间给到回馈,感谢观看!!
注:本文为本人学习时心得分享,有讲错或者需要改正的地方,请指正,我会虚心接受









