大数据|Redis五大数据类型之Set(五)


上一篇文章介绍了redis中的List集合【Redis五大数据类型之List(四)】 , 这篇文章继续介绍redis中的Set集合 。
一、redis中Set数据结构redis中Set集合和List集合类似 , 只不过Set集合不会保存重复的数据元素 。 Set集合具有如下特点:
- 单键多值 , 即:一个key对应多个不重复的value值
- set集合会自动排除重复元素
- 底层采用dict字典的数据结构 , 而dict字典是由value为null的Hash表数据结构实现的 , 添加 , 删除 , 查找的时间复杂度是O(1) 。
2、smembers命令:获取该集合中所有值(查看所有集合元素)
# 已经存在的元素 , 再次插入 , 则会自动忽略 。
# 添加成功 , 返回添加的元素个数 。
sadd key名称 value1值 value2值 value3值 value4值...
3、sismember命令:判断set集合中 , key所有包含的value中 , 是否包含指定的value值
# 返回所有集合元素
smembers key名称
4、scard命令:返回集合中元素个数
# 存在value值 , 则返回1 。
# 不存在value值 , 则返回0 。
sismember key名称 value值
5、srem命令:移除集合中 , 某个或多个元素
# 返回集合元素个数
scard key名称
# 移除成功 , 返回移除的元素个数 。
# 如果有不存在的元素 , 移除时候 , 不会计算到移除成功的个数中 。
# 例如:移除2个元素 , 其中一个元素在set集合中不存在 , 则返回值是1 。
srem key名称 value1值 value2值...
6、spop命令:随机从set集合中 , 获取一个或多个值
7、srandmember命令:随机从集合中 , 获取n个值
# 返回弹出的元素 。
# 取出的值 , 会在set集合删除 。
spop key名称 [count个数
# 获取的值 , 在set集合中不会被删除 。
# n可以是任意数字
srandmember key名称 n个数
8、smove命令:把集合1中的一个value值 , 移到集合2中
9、sinter命令:返回集合1和集合2中的交集元素(共有元素)
# 移动的元素集合 , 被移动的元素会在原集合中删除 。
# 如果目标集合中存在该value值 , 则覆盖该值 。
# 移动成功 , 返回移动1 。
smove key1名称 key2名称 需要移动的value值
10、sunion命令:返回集合1和集合2中的并集元素(全部元素)
# 返回两个集合的共有元素集合
sinter key1名称 key2名称
11、sdiff命令:返回集合1和集合2中的差集元素(差集:set1集合中含有的元素 , 并且set2集合中不含有的元素)
# 返回集合1和集合2中所有不重复元素 。
sunion key1名称 key2名称
# key1集合中含有的元素 , 并且key2集合中不含有的元素
sdiff key1名称 key2名称
以上就是redis中Set集合相关操作命令 。
- 徕卡|超大杯命名揭晓!卢伟冰换上小米12S Ultra
- 早报:华为P50 Pocket新色预售 百度世界大会定档
- 京东|裁员不忘膈应人,这家互联网大厂送的离职礼物恶心到我了!
- ZOL科技早餐:华为千元手表官宣,腾讯QQ回应大规模盗号
- 领军企业|30个!中国科协发布2022年科技领域重大问题难题
- iPhone14|准大学生的数码装备推荐
- 个头大的车厘子比小樱桃营养价值更高,对吗 蚂蚁新村6月28日答案最新
- iqoo|卡贴机大降价,iPhone13只要3000出头,网友都说“真香”
- ColorOS|绿厂又在憋大招?新系统和新产品接踵而至
- 数字化转型|新一代iPad Pro正在路上 外观、配置大升级
