• set常用命令与其底层数据结构


    set型命令

    sadd

    格式:SADD key member [member …]

    功能:将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member元素将被忽略。

    说明:假如 key 不存在,则创建一个只包含 member 元素作成员的集合。当 key 不是集合类型时,返回一个错误。

    smembers

    格式:SMEMBERS key

    功能:返回集合 key 中的所有成员。

    说明:不存在的 key 被视为空集合。若 key 中包含大量元素,则该命令可能会阻塞 Redis服务。所以生产环境中一般不使用该命令,而使用 sscan 命令代替。

    scard

    格式:SCARD key

    功能:返回 Set 集合的长度

    说明:当 key 不存在时,返回 0 。

    sismember

    格式:SISMEMBER key member

    功能:判断 member 元素是否集合 key 的成员。

    说明:如果 member 元素是集合的成员,返回 1 。如果 member 元素不是集合的成员,或 key 不存在,返回 0 。

    smove

    格式:SMOVE source destination member

    功能:将 member 元素从 source 集合移动到 destination 集合。

    说明:如果 source 集合不存在或不包含指定的 member 元素,则 SMOVE 命令不执行任何操作,仅返回 0 。否则, member 元素从 source 集合中被移除,并添加到destination 集合中去,返回 1。当 destination 集合已经包含 member 元素时, SMOVE命令只是简单地将 source 集合中的 member 元素删除。当 source 或 destination 不是集合类型时,返回一个错误。

    srem

    格式:SREM key member [member …]

    功能:移除集合 key 中的一个或多个 member 元素,不存在的 member 元素会被忽略,且返回成功移除的元素个数。

    说明:当 key 不是集合类型,返回一个错误。

    srandmember

    格式:SRANDMEMBER key [count]

    功能:返回集合中的 count 个随机元素。count 默认值为 1。

    说明:若 count 为正数,且小于集合长度,那么返回一个包含 count 个元素的数组,数组中的元素各不相同。如果 count 大于等于集合长度,那么返回整个集合。如果count 为负数,那么返回一个包含 count 绝对值个元素的数组,但数组中的元素可能会出现重复。

    spop

    格式:SPOP key [count]

    功能:移除并返回集合中的 count 个随机元素。count 必须为正数,且默认值为 1。

    说明:如果 count 大于等于集合长度,那么移除并返回整个集合。

    sdiff / sdiffstore

    格式:SDIFF key [key …] 或 SDIFFSTORE destination key [key …]

    功能:返回第一个集合与其它集合之间的差集。差集,difference。

    说明:这两个命令的不同之处在于,sdiffstore 不仅能够显示差集,还能将差集存储到指定的集合 destination 中。如果 destination 集合已经存在,则将其覆盖。不存在的 key 被视为空集。

    sinter / sinterstore

    格式:SINTER key [key …] 或 SINTERSTORE destination key [key …]

    功能:返回多个集合间的交集。交集,intersection

    说明:这两个命令的不同之处在于,sinterstore 不仅能够显示交集,还能将交集存储到指定的集合 destination 中。如果 destination 集合已经存在,则将其覆盖。不存在的 key 被视为空集。

    sunion / sunionstore

    格式:SUNION key [key …] 或 SUNIONSTORE destination key [key …]

    功能:返回多个集合间的并集。并集,union。

    说明:这两个命令的不同之处在于,sunionstore 不仅能够显示并集,还能将并集存储到指定的集合 destination 中。如果 destination 集合已经存在,则将其覆盖。不存在的 key 被视为空集。

    set的底层数据结构

    set的底层数据结构为Hash table

  • 相关阅读:
    【学习笔记】ARC146/AGC020/
    IDEA中的项目点击Run可以正常运行,一点击Debug就卡死了
    delphi中new_type的用法
    Spring-Spring之AOP底层源码解析(下)
    用C++ QT实现点击下拉框,选则后自动填写其他项
    jmeter分布式部署配置笔记
    深度学习——池化层笔记+代码
    Scala词频统计
    【抢先体验】开通使用 ChatGPT 语音版功能保姆级教程
    CyclicBarrier和CountDownLatch
  • 原文地址:https://blog.csdn.net/weixin_60208935/article/details/128205859