• 带你玩转Redis 的 Set 数据类型


    🎨 个人介绍

    👉大家好,我是:知识的搬运工旺仔

    👉认真分享技术,记录学习过程的点滴,如果我的分享能为你带来帮助,请支持我奥🍻

    👉你的支持,是我每天更新的动力。

    👉赞点:👍 留言:✍ 收藏:⭐

    👉个人格言:想法一步一步的落实,才是你我前进最佳选择。

    1. Set 数据类型简介

    1. 集合set 是 String 类型的无序集合
    2. set集合无序,并且不重复
    3. 集合底层是由哈希表来实现的,时间复杂度为O(1)

    2. 向集合中添加元素

    SADD key member [member…]

    :::success SADD 命令:添加多个元素到集合中

    1. key 中已经存在 number 元素,这个命令将被忽略
    2. key不存在,创建一个集合,然后在集合中添加number
    3. key 不是集合类型,返回一个错误 :::

    SMOVE source destination member

    :::success SMOVE 命令:移动集合元素到另一个集合中

    1. 将集合source 中 的member 元素移动到集合deatination 中
    2. SMOVE 命令是原子操作
    3. source 和 member 其中一个不存在,将不会在执行移动命令,返回0
    4. destination 中包含 member 元素,它就只会简单的删除source 中的member
    5. 成功移动完成,返回1 :::

    SUNIONSTORE destination key [key…]

    :::success SUNIONSTORE 命令:保存多个集合元素到新集合中

    1. 获取一个或多个集合数据,保存到destination 中
    2. 集合中的元素,是所有 key 中的交集 :::

    3. 获取集合元素

    SISMENBER key number

    :::success SISMEMBER 命令:判断某个元素是否在集合中

    1. key 存在 number 元素,返回 1
    2. key 中不存在 number 或者 key 不存在 返回 0 :::

    SCARD key

    :::success SCARD 命令:获取集合中元素的数量

    1. 获取key 中number 的数量 :::

    SMEMBERS key

    :::success SMEMBERS 命令:获取集合中的所有元素

    1. key 存在,返回key 中所有元素
    2. key 不存在,返回空集合 :::

    SRANDMEMBER key [count]

    :::success SRANDMEMBER 命令:随机获取集合中的一个元素

    1. count为正数,count小于集合元素个数,返回一个包含count数量的数组,数组中的元素不重复
    2. count为正数,count大于集合元素个数,返回整个集合,数组中的元素不重复
    3. count为负数,返回一个相对应count绝对值数量的数组,数组中的元素可能重复 :::

    SUNION key [key…]

    :::success SUNION 命令:获取多个集合中的所有元素

    1. 返回所有集合key 的并集
    2. key 不存在,视为空集合 :::

    4. 集合运算

    1. SDIFF key [key…]

    :::success SDIFF 命令:获取多个集合元素的差集

    1. 获取给定集合之间的差集
    2. key 不存在,视为空集合 :::

    SDIFFSTORE destination key [key…]

    :::success SDIFFSTORE 命令:获取多个集合差集的元素个数

    1. 获取多个集合的差集,并将差集保存到destination中
    2. 如果destination存在,会被新的集合覆盖
    3. 如果destination部存在,会创建新的集合 :::

    SINTRE key [key…]

    :::success SINTER 命令:获取多个集合元素的交集

    1. 获取给定集合中的交集
    2. key 不存在,视为空集合
    3. 如果有空集合,那么交集就会变成空集合 :::

    SINTERSTORE destination key [key…]

    :::success SINTERSTORE 命令:获取多个集合交集的元素个数

    1. 获取给定集合中的交集,并将交集存储在destination 中
    2. 如果destination存在,会被新的集合覆盖
    3. 如果destination部存在,会创建新的集合 :::

    5. 删除集合元素

    SPOP key [count]

    :::success SPOP 命令:删除集合中的元素

    1. 随机删除集合中的count 个元素
    2. key 不存在,或者key 是空集合,返回nil :::

    SREM key member [member…]

    :::success SREM 命令:删除集合中的多个元素

    1. 删除集合 key 中的一个或多个 member 元素
    2. 该命令在执行过程中 会忽略不存在的member 元素
    3. key 不是集合类型,则会返回一个错误 :::

    🎈看完了不妨给我点个赞吧,👉你的支持,是我每天更新的动力…

  • 相关阅读:
    父子进程区别与GDB多进程调试
    什么是模型
    4.前端开发工具介绍以及下载使用
    【EI会议征稿】第五届人工智能、网络与信息技术国际学术会议(AINIT 2024)
    YOLO5Face:为什么要重新发明人脸检测器
    学习架设传奇入门必读的好文章
    8、MySQL——数据的完整性
    向毕业妥协系列之机器学习笔记:监督学习-回归与分类(二)
    [需求管理-3]:什么是需求分析?常用的需求分析的流程与方法
    Qt学习记录___9.10
  • 原文地址:https://blog.csdn.net/weixin_46213083/article/details/126336031