Redis集合包括Set(无序集合)和ZSet(有序集合),这里的Set实现相当于Java中的HashSet,它内部实现了一个特殊的字典,字典中所有的value都是一个值NULL。下面我们来熟悉下set的常用的命令

Set

>sadd name hello(integer)1>sadd name hello    #重复,不能插入(integer)0>sadd name i am ok(integer)3>smembers name"hello""i""am""ok">sismember name hello    #检测值是否存在(integer)1>scard name     #获取长度(integer)4>spop name    #获取第一个"hello"

ZSet

zset是一个有序集合,他有着java里的SortedSet和HashMap的特色,它是一个集合能保证内部value唯一,又有一个排序字段score来排序,他的内部结构实现了跳跃列表,俗称跳表,接下来会找个时间来解释zset中的跳表实现。一般来说我们使用zset最多的还是排名,比如直播里面的送礼物排名,粉丝个数排名等

下面我们来使用一些常用的命令

>zadd name 2 world(integer)1>zadd name 1 hello(integer)1>zrange name 0 -1    #按照score升序排列"hello""world">zrevrange name 0 -1    #按照score降序排列"world""hello">zcard name    #获取集合个数(integer)2>zscore name hello    #获取内部score1.0>zrem name world    #删除(integer)1

一般来说我们进行有序的列表进行搜索的时可以使用遍历整个列表,但是为了考虑性能我们使用二分法是最快的,但是列表需要随机插入和删除,这样数据是不适合这样做,那么我们尝试着使用链表,链表很好的支持随机插入和删除,但是链表又不能进行二分法快速查找,那么我们redis里面使用了一个叫跳跃列表的方式来实现zset,关于这方面的分享,我会下后面的章节里详细描述。

一名正在抢救的coder

笔名:mangolove

CSDN地址:https://blog.csdn.net/mango_love

GitHub地址:https://github.com/mangoloveYu

Redis-集合(Set)基础相关推荐

  1. 【《Redis深度历险》读书笔记(1)】基础:万丈高楼平地起 ——Redis 5种基础数据结构

    [时间]2021.11.16 [题目][<Redis深度历险>读书笔记(1)]基础:万丈高楼平地起 --Redis 基础数据结构 本栏目是<Redis深度历险:核心原理和应用实践&g ...

  2. Redis学习笔记①基础篇_Redis快速入门

    若文章内容或图片失效,请留言反馈.部分素材来自网络,若不小心影响到您的利益,请联系博主删除. 资料链接:https://pan.baidu.com/s/1189u6u4icQYHg_9_7ovWmA( ...

  3. Redis学习之基础知识普及

    Redis学习之基础知识普及 1. Redis安装(单机) 2.Redis基本数据结构 3.Redis常用命令 3.1.Redis 键(key) 3.2.Redis 字符串(String) 3.3.R ...

  4. 【Redis】详细基础命令 - 学习笔记

    Redis 环境搭建及运行 安装(Ubuntu举例,其他系统类似) apt-get update && apt-get install redis-server -y 启动 redis ...

  5. Redis 命令--Redis集合(Set)

    Redis集合(Set) Redis 的 Set 是 String 类型的无序集合.集合成员是唯一的,这就意味着集合中不能出现重复的数据. Redis 中集合是通过哈希表实现的,所以添加,删除,查找的 ...

  6. Redis 集合(Set)

    Redis 集合(Set) Redis的Set是string类型的无序集合.集合成员是唯一的,这就意味着集合中不能出现重复的数据. Redis 中 集合是通过哈希表实现的,所以添加,删除,查找的复杂度 ...

  7. Redis学习---(10)Redis 集合(Set)

    Redis 集合(Set) Redis 的 Set 是 String 类型的无序集合.集合成员是唯一的,这就意味着集合中不能出现重复的数据. Redis 中集合是通过哈希表实现的,所以添加,删除,查找 ...

  8. redis linux 删除数据结构,Redis集合数据结构和常用命令

    Redis 的集合不是一个线性结构,而是一个哈希表结构,它的内部会根据 hash 分子来存储和查找数据,理论上一个集合可以存储 2 的 32 次方减 1 个节点(大约 42 亿)个元素,因为采用哈希表 ...

  9. web前端知识集合——javascript基础篇之javascript背景历史和运行环境(一)

    前言:温故而知新,可以为长也!万变不离其宗,无论是现在web前端技术衍生出多么优秀,好用的框架,插件,都离不开这门语言的基础知识.掌握各种优秀的框架,插件,只是"善用工具的人",深 ...

  10. 如何遍历redis集合

    2019独角兽企业重金招聘Python工程师标准>>> 当redis集合有大量的键值对的时候,如果使用smembers来获取就如同keys *在redis有大量键的时候一样,会产生性 ...

最新文章

  1. 12种主流编程语言输出“ Hello World ”,把我给难住了!
  2. MEMS惯性传感器有哪些趋势?
  3. 开发ProxyServer的时候如何在一台PC上调试
  4. 重构机房收费系统总结1之配置文件+反射+抽象工厂
  5. 超形象!著名的三角不等式演示动图!
  6. React 与 可视化
  7. jdk8 Arrays.sort()实现分析
  8. 基于Matlab的跨孔层析成像的最短路径法弯曲射线追踪(一)
  9. 微信小程序实现转义换行符
  10. Android两种存储用户临时数据的方式比较:Preferences Bundle
  11. 希捷低格工具_拯救硬盘问题的终极大招超强电脑硬盘低格工具
  12. 多次重复原生进入RN优化Catalyst Instance has already disappeared
  13. 【CSS】笔记2-复合选择器、显示模式、背景
  14. 人工智能轨道交通行业周刊-第8期(2022.8.1-8.7)
  15. 【水花的2021年度总结】
  16. plsql执行oracle函数,PLSQL中Function和Procedures的简单使用
  17. DL框架之DL4J/Deeplearning4j:深度学习框架DL4J/Deeplearning4j的简介、安装、使用方法之详细攻略
  18. 《信号完整性分析和印制电路板》PDF下载
  19. JS字符串转换成数字的三种经典方法和代码实例
  20. android极光推送】—从客户端到后台,一文通吃

热门文章

  1. (软件工程复习核心重点)第五章详细设计-第三节:过程设计工具
  2. (软件工程复习核心重点)第二章可行性研究-第四节:数据字典
  3. 栈溢出笔记1.8 字符串问题
  4. Linux系统安装证书(ubuntu、centos7)
  5. curl命令使用介绍
  6. 攻击者利用的Windows命令、横向渗透工具分析结果列表
  7. 使用证书登陆Linux服务器
  8. python序列中是否包含某个元素
  9. iOS回顾笔记( 01 )-- XIB和纯代码创建应用的对比
  10. Windows Phone 用WebBrowser加载HTML页面