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

【Redis】zset类型

目录

  • 1、介绍
  • 2、底层实现
    • 【1】压缩列表
    • 【2】跳跃表+哈希表
  • 3、常用命令

1、介绍

有序集合结合了集合和有序列表的特性,每个元素都会关联一个分数,Redis正是通过这个分数来为集合中的成员进行排序。

2、底层实现

【1】压缩列表

适用条件

1、元素数量 ≤ zset-max-ziplist-entries(默认128个)
2、每个元素的成员长度 ≤ zset-max-ziplist-value(默认64字节)

结构特点

1、连续内存存储,每个元素由相邻节点组成(成员和分数),按分数升序排列
2、插入/删除需遍历并移动数据,时间复杂度为O(N),适用于小规模数据的高效内存利用

【2】跳跃表+哈希表

适用条件

1、当数据规模超过阈值时,就切换为跳跃表和哈希表存储

结构特点

1、哈希表存储member->score映射(O(1)查询)
2、跳跃表按score升序存储

3、常用命令

命令语法作用
ZADDZADD key score member [score member …]添加元素
ZREMZREM key member [member …]删除元素
ZSCOREZSCORE key member获取元素分数
ZRANKZRANK key member获取元素升序排名
ZREVRANKZREVERANK key member获取元素降序排名
ZCARDZCARD key获取结合元素数量
ZCOUNTZCOUNT key min max统计分数区间元素数
ZRANGEZRANGE key start stop按升序返回区间元素
ZREVRANGEZREVRANGE key start stop按降序区间返回区间元素
ZRANGEBYSCOREZRANGEBYSCORE key min max返回分数区间元素
ZREVRANGEBYSCOREZREVRANGEBYSCORE key max min反向返回分数区间元素
ZINCRBYZINCRBY key increment member增加元素分数
ZPOPMAXZPOPMAX key删除并返回最高分元素
ZPOPMINZPOPMIN key删除并返回最低分元素
ZUNIONSTOREZUNIONSTORE dest numkeys key [key …]并集计算存储
ZINTERSTOREZINTERSTORE dest numkeys key [key …]交集计算存储
ZSCANZSCAN key cursor增量迭代元素

相关文章:

  • go语言八股文(三)
  • 2个小时1.5w字| React Golang 全栈微服务实战
  • 新增29个专业,科技成为未来主赛道!
  • 04.通过OpenAPI-Swagger规范让Dify玩转Agent
  • Linux操作系统学习---进程地址空间
  • Zabbix
  • Clang中ext_vector_type和address_space __attribute__的使用
  • 《从分遗产说起:JS 原型与继承详解》
  • 测地型GNSS接收机_毫米高精度精准定位
  • NEPCON China 2025 | 具身智能时代来临,灵途科技助力人形机器人“感知升级”
  • 读写算杂志读写算杂志社读写算编辑部2025年第12期目录
  • 现场问题排查-postgresql某表索引损坏导致指定数据无法更新影响卷宗材料上传
  • 97A6-ASEMI无人机专用功率器件97A6
  • 【神经网络与深度学习】端到端方法和多任务学习
  • 2025系统架构师---事件驱动架构
  • Android10.0 Android.bp文件详解,以及内置app编写Android.bp文件
  • iOS自定义电池电量显示控件 BatteryView 实现
  • uniapp自定义一个选择年月日时分的组件。
  • SpringBoot驾校报名小程序实现
  • 重构数字信任基石:Java 24 网络安全特性的全维度革新与未来防御体系构建
  • 奈雪的茶叫停“能喝奶茶就不要喝水”宣传,当地市监称不要误导消费者
  • 济南高新区一季度GDP增长8.5%,第二产业增加值同比增长14.4%
  • 总书记考察的上海“模速空间”,要打造什么样的“全球最大”?
  • 习近平访问金砖国家新开发银行
  • 习近平在上海考察时强调,加快建成具有全球影响力的科技创新高地
  • 新疆维吾尔自治区原质量技术监督局局长刘新胜接受审查调查