Redis-集合(Set)

news/2024/10/30 23:19:31/

Redis集合(Set)

  • Redis set对外提供的功能与list类似是一个列表的功能,特殊之处在于set是可自动排重的,当你需要存储一个列表数据,又不希望出现重复数据时,set是一个很好的选择,并且set提供了判断某个成员是否在一个set集合内的重要接口,这个也是list所不能提供的

  • Redis的Set是string类型的无序集合。它底层其实是一个value为null的hash表,所以添加,删除,查找的复杂度都是O(1),一个算法,随着数据的增加,执行时间的长短,如果是O(1),数据增加,查找数据的时间不变

常用命令

  • 将一个或多个 member 元素加入到集合 key 中,已经存在的 member 元素将被忽略

    sadd key <member1> <member2> <member3>
    
  • 获取set中的所有元素

    smembers key
    
  • 判断集合key中是否存在某个value值,有1无0

    sismember <key> <value>
    
  • 返回集合中的元素个数

    scard key
    
  • 删除集合中的一个或多个元素

    srem key value1 value2 ...
    
  • 从集合中随机弹出一个值

    spop key
    
  • 随机从集合中取出n个值,不会删除

    srandmember key n
    
  • 将集合中的一个值移动到另一个集合

    smove <source> <targetSet> value
    
  • 获取两个集合的交集部分

    sinter <key1> <key2>
    
  • 获取两个集合的并集部分

    sunion <key1> <key2>
    
  • 获取两个集合的差集部分

    sdiff <key1> <key2>
    

数据结构

  • Set数据结构是dict字典,字典是用哈希表实现的
  • Java中HashSet的内部实现使用的是HashMap,只不过所有的value都指向同一个对象。Redis的set结构也是一样,它的内部也使用hash结构,所有的value都指向同一个内部值。

http://www.ppmy.cn/news/58662.html

相关文章

2023年第二届材料科学与工程国际会议(CoMSE 2023) | IOP-JPCS出版

会议简介 Brief Introduction 2023年第二届材料科学与工程国际会议(CoMSE 2023) 会议时间&#xff1a;2023年7月21日-23日 召开地点&#xff1a;中国泰州 大会官网&#xff1a;www.icomse.org CoMSE 2023由四川大学、华南理工大学亚热带建筑科学国家重点实验室、国际电气电子和…

JavaScript:栈和对列

文章目录 栈和对列Js 有栈与队列吗20. 有效的括号 - 力扣&#xff08;LeetCode&#xff09;思路 1047. 删除字符串中的所有相邻重复项 - 力扣&#xff08;LeetCode&#xff09;思路代码分析array.join() 操作打印const s of str 操作遍历 150. 逆波兰表达式求值 - 力扣&#xf…

Linux操作系统CentOS7安装Nginx[详细版]

Linux操作系统CentOS7安装Nginx[详细版] Nginx安装 1. 官网下载 Nginx 2. 使用 XShell 和 Xftp 将压缩包上传到 Linux 虚拟机中 3. 解压文件 nginx-1.20.2.tar.gz 4. 配置nginx 5. 启动 nginx 6. 拓展&#xff08;修改端口和常用命令&#xff09; &#xff08;一&#xff09;修…

第二十一章 光源

光源是每个场景必不可少的部分&#xff0c;光源除了能够照亮场景之外&#xff0c;还可以产生阴影效果。 Unity中分为四种光源类型&#xff1a; 1. 方向光&#xff1a;Directional Light 用于模拟太阳光&#xff0c;方向光任何地方都能照射到。 2. 点光源&#xff1a;Point L…

Oracle中按天、周、月、季、年统计数据

简介: oracle实现按照天、周、月、季、年进行数据统计&#xff0c;在实际业务场景中如 "报表之类" 、"财务业务的往来" 等等&#xff0c;业务往往需要我们统计整年 或 整月的数据等&#xff0c;下面我们直入主题。 说明: 原始数据 一、按天查询 1、片段 …

BeautifulSoup4学习笔记

.string–获取文本内容 html <html><head><title>The Dormouses story</title></head><body><p class"title" name"dromouse"><b>The Dormouses story</span></b></p>><p cla…

Java 基础进阶篇(六)—— 接口详解

文章目录 一、接口概述二、接口的基本使用三、接口从 JDK 8 开始新增的方法四、接口的注意事项&#xff08;了解&#xff09;补充&#xff1a;接口与接口的关系 一、接口概述 规范的基本特征是约束和公开。 接口就是一种规范&#xff0c;其约束别人必须干什么事情。 所以&…

自供电-测力刀柄资料整理

自供电-测力刀柄资料整理 2. 相关专利2.1 实时测量铣削过程中床主轴温度装置【1】2.2 一种基于应变片的测力系统【2】 3. 相关商业化产品3.1 spike 测力刀柄【3】3.2 瑞士奇石乐&#xff08;Kistler&#xff09;旋转切削测力仪【4】3.3 kistler的通用型压电式切削力测量系统3.4…