🗒️redis数据库7—set(集合)
00 分钟
2024-8-25
2024-8-25
type
status
date
slug
summary
tags
category
icon
password

Redis 集合(Set)操作总结

 
Redis 的集合(Set)是一种无序的数据结构,主要用于去重操作。集合中的每个元素都是唯一的,集合提供了高效的集合操作(如交集、并集、差集),在需要快速判断某个元素是否存在、管理无序数据、或者执行集合运算时非常有用。
 

1. 添加元素

  • SADD key member1 member2 ...: 向集合中添加一个或多个元素。如果元素已存在,则不会重复添加。
    • 示例:
      结果:

2. 获取集合的所有成员

  • SMEMBERS key: 获取集合中所有的成员。
    • 示例:

3. 获取集合的长度

  • SCARD key: 获取集合中的元素数量(即集合的长度)。
    • 示例:

4. 随机抽取一个或多个元素

  • SPOP key [count=1]: 随机从集合中移除并返回一个或多个元素。count 为可选参数,表示要移除的元素数量,默认为 1。
    • 示例:

5. 删除指定元素

  • SREM key member1 member2 ...: 从集合中删除指定的一个或多个元素。
    • 示例:

6. 交集、差集和并集

  • SINTER key1 key2 ...: 获取多个集合的交集,即多个集合中共同存在的成员。
    • 示例:
  • SDIFF key1 key2 ...: 获取多个集合的差集,即在第一个集合中存在,但在其他集合中不存在的成员。
    • 示例:
  • SUNION key1 key2 ...: 获取多个集合的并集,即所有集合的所有成员,并自动去重。
    • 示例:

重点用法总结

  • 去重存储:使用 SADD 可以快速将元素添加到集合中,并确保所有元素都是唯一的。
  • 集合操作:利用 SINTERSDIFFSUNION 可以方便地进行集合间的交集、差集和并集操作,适用于推荐系统、标签匹配等场景。
  • 随机操作:通过 SPOP 可以随机抽取集合中的一个或多个元素,并将其从集合中移除,适用于抽奖、随机选择等场景。

示例

  • 用户标签推荐:
    • 共同兴趣匹配:
      这些命令使得 Redis 的集合操作非常适合处理去重、关系运算以及快速查询场景,是处理无序数据集的利器。
       
       
       

      打赏

      如果您觉得我的内容对你有所帮助,不要吝啬你的一键三连!如果你有能力的话也可以通过下面请我喝杯咖啡~金额您随意~如果对文章内容有任何疑问,欢迎加入群组联系我~
      notion image
      上一篇
      redis数据库6—哈希(Hash)
      下一篇
      redis数据库8— zset(有序集合)