当前位置: 首页 > news >正文

Redis中集合(Set)常见命令详解

集合(Set)常见命令详解

集合(Set)在Redis中是一种无序且不可重复的数据结构,非常适合用于存储唯一元素的集合。以下是Redis集合操作的一些常用命令及其详细说明:

添加成员

  • sadd key member [member ...]
    • 功能:向指定集合中添加一个或多个成员。
    • 参数
      • key:集合的键。
      • member:要添加到集合中的成员,可以是一个或多个。
    • 返回值:成功添加的新成员数量。如果成员已经存在于集合中,则不会重复添加。

获取所有成员

  • smembers key
    • 功能:返回集合中的所有成员。
    • 参数
      • key:集合的键。
    • 返回值:集合中的所有成员组成的列表。

删除成员

  • srem key member [member ...]
    • 功能:从集合中移除一个或多个成员。
    • 参数
      • key:集合的键。
      • member:要从集合中移除的成员,可以是一个或多个。
    • 返回值:成功移除的成员数量。

获取成员数量

  • scard key
    • 功能:获取集合中的成员数量。
    • 参数
      • key:集合的键。
    • 返回值:集合中的成员数量。

随机移除成员

  • spop key [count]
    • 功能:随机移除集合中的一个或多个成员,并返回被移除的成员。
    • 参数
      • key:集合的键。
      • count(可选):要移除的成员数量。如果不指定,则默认移除一个成员。
    • 返回值:被移除的成员组成的列表。

判断成员是否存在

  • sismember key member
    • 功能:判断某个成员是否存在于集合中。
    • 参数
      • key:集合的键。
      • member:要判断的成员。
    • 返回值:如果成员存在于集合中,返回1;否则返回0。

合并集合

  • sunion key1 key2 [key ...]

    • 功能:返回给定所有集合的并集。
    • 参数
      • key1key2等:要合并的集合的键。
    • 返回值:所有集合的并集组成的列表。
  • sunionstore dest key1 key2 [key ...]

    • 功能:将给定所有集合的并集存储到目标集合中。
    • 参数
      • dest:目标集合的键。
      • key1key2等:要合并的集合的键。
    • 返回值:并集中成员的数量。

获取交集

  • sinter key1 key2 [key ...]

    • 功能:返回给定所有集合的交集。
    • 参数
      • key1key2等:要求交集的集合的键。
    • 返回值:所有集合的交集组成的列表。
  • sinterstore dest key1 key2 [key ...]

    • 功能:将给定所有集合的交集存储到目标集合中。
    • 参数
      • dest:目标集合的键。
      • key1key2等:要求交集的集合的键。
    • 返回值:交集中成员的数量。

获取差集

  • sdiff key1 key2 [key ...]

    • 功能:返回第一个集合与其他集合的差集(即存在于第一个集合但不存在于其他集合中的成员)。
    • 参数
      • key1:基准集合的键。
      • key2等:要从基准集合中移除的成员所在的集合的键。
    • 返回值:差集组成的列表。
  • sdiffstore dest key1 key2 [key ...]

    • 功能:将第一个集合与其他集合的差集存储到目标集合中。
    • 参数
      • dest:目标集合的键。
      • key1:基准集合的键。
      • key2等:要从基准集合中移除的成员所在的集合的键。
    • 返回值:差集中成员的数量。

这些命令为操作Redis集合提供了强大的功能,适用于各种需要唯一性约束和集合运算的场景。

相关文章:

  • nginx配置ssl
  • Spring Boot拦截器(Interceptor)详解
  • P1034 [NOIP 2002 提高组] 矩形覆盖
  • DeepSeek人工智能大模型全解析:技术架构与应用场景解读
  • go 模块管理
  • react+typescript,初始化与项目配置
  • UE4 GamePlay架构介绍
  • Springboot的jak安装与配置教程
  • 【C语言】结构体内存对齐问题
  • LeetCode 热题 100 49. 字母异位词分组
  • ✨ 索引有哪些缺点以及具体有哪些索引类型
  • Redis-AOF
  • go 反射 interface{} 判断类型 获取值 设置值 指针才可以设置值
  • 字符型验证码自动识别与填充提交——OCR浏览器插件的完整实现
  • 计算机视觉之图像处理-----SIFT、SURF、FAST、ORB 特征提取算法深度解析
  • 基于Python CNN和词向量的句子相似性度量
  • Python新春烟花
  • 【C# 数据结构】队列 FIFO
  • SpringBoot3中跨域问题解决
  • 上帝之眼——nmap
  • 福建厦门市副市长、市公安局局长陈育煌出任吉林省公安厅厅长
  • 郑培凯:汤显祖的“至情”与罗汝芳的“赤子之心”
  • 视频丨美国两名男童持枪与警察对峙,一人还试图扣动扳机
  • 男子退机票被收90%的手续费,律师:虽然合规,但显失公平
  • 训练孩子的科学思维,上海虹口推出“六个一百”旗舰工程
  • 朝着解决问题的正确方向迈进——中美经贸高层会谈牵动世界目光