🎨 个人介绍
👉大家好,我是:知识的搬运工旺仔
👉认真分享技术,记录学习过程的点滴,如果我的分享能为你带来帮助,请支持我奥🍻
👉你的支持,是我每天更新的动力。
👉赞点:👍 留言:✍ 收藏:⭐
👉个人格言:想法一步一步的落实,才是你我前进最佳选择。
带你玩转Redis 的 Set 数据类型
1. Set 数据类型简介
- 集合set 是 String 类型的无序集合
- set集合无序,并且不重复
- 集合底层是由哈希表来实现的,时间复杂度为O(1)
2. 向集合中添加元素
SADD key member [member…]
:::success SADD 命令:添加多个元素到集合中
- key 中已经存在 number 元素,这个命令将被忽略
- key不存在,创建一个集合,然后在集合中添加number
- key 不是集合类型,返回一个错误 :::
SMOVE source destination member
:::success SMOVE 命令:移动集合元素到另一个集合中
- 将集合source 中 的member 元素移动到集合deatination 中
- SMOVE 命令是原子操作
- source 和 member 其中一个不存在,将不会在执行移动命令,返回0
- destination 中包含 member 元素,它就只会简单的删除source 中的member
- 成功移动完成,返回1 :::
SUNIONSTORE destination key [key…]
:::success SUNIONSTORE 命令:保存多个集合元素到新集合中
- 获取一个或多个集合数据,保存到destination 中
- 集合中的元素,是所有 key 中的交集 :::
3. 获取集合元素
SISMENBER key number
:::success SISMEMBER 命令:判断某个元素是否在集合中
- key 存在 number 元素,返回 1
- key 中不存在 number 或者 key 不存在 返回 0 :::
SCARD key
:::success SCARD 命令:获取集合中元素的数量
- 获取key 中number 的数量 :::
SMEMBERS key
:::success SMEMBERS 命令:获取集合中的所有元素
- key 存在,返回key 中所有元素
- key 不存在,返回空集合 :::
SRANDMEMBER key [count]
:::success SRANDMEMBER 命令:随机获取集合中的一个元素
- count为正数,count小于集合元素个数,返回一个包含count数量的数组,数组中的元素不重复
- count为正数,count大于集合元素个数,返回整个集合,数组中的元素不重复
- count为负数,返回一个相对应count绝对值数量的数组,数组中的元素可能重复 :::
SUNION key [key…]
:::success SUNION 命令:获取多个集合中的所有元素
- 返回所有集合key 的并集
- key 不存在,视为空集合 :::
4. 集合运算
- SDIFF key [key…]
:::success SDIFF 命令:获取多个集合元素的差集
- 获取给定集合之间的差集
- key 不存在,视为空集合 :::
SDIFFSTORE destination key [key…]
:::success SDIFFSTORE 命令:获取多个集合差集的元素个数
- 获取多个集合的差集,并将差集保存到destination中
- 如果destination存在,会被新的集合覆盖
- 如果destination部存在,会创建新的集合 :::
SINTRE key [key…]
:::success SINTER 命令:获取多个集合元素的交集
- 获取给定集合中的交集
- key 不存在,视为空集合
- 如果有空集合,那么交集就会变成空集合 :::
SINTERSTORE destination key [key…]
:::success SINTERSTORE 命令:获取多个集合交集的元素个数
- 获取给定集合中的交集,并将交集存储在destination 中
- 如果destination存在,会被新的集合覆盖
- 如果destination部存在,会创建新的集合 :::
5. 删除集合元素
SPOP key [count]
:::success SPOP 命令:删除集合中的元素
- 随机删除集合中的count 个元素
- key 不存在,或者key 是空集合,返回nil :::
SREM key member [member…]
:::success SREM 命令:删除集合中的多个元素
- 删除集合 key 中的一个或多个 member 元素
- 该命令在执行过程中 会忽略不存在的member 元素
- key 不是集合类型,则会返回一个错误 :::
🎈看完了不妨给我点个赞吧,👉你的支持,是我每天更新的动力…