【Redis】Redis Zset实现原理:跳表+哈希表的精妙设计

一、实现:

Zset有序集合是一种由 跳表(Skip List)+哈希表(Hash Table) 实现的数据结构。

二、特点功能:

Set特性+排序

三、跳表与哈希表分析:

Zset的实现由两个数据结构:

1.跳表(Skip List) :用于存储数据的排序和快速查找

2.哈希表:用于 存储成员->分数 映射,提供快速查找

Zset元素数量较少 时,Redis会用 **压缩列表(Zip List)**来节省内存,下面两个条件必须都满足

  • 元素个数 ≤ zset-max-ziplist-entries(默认 128)
  • 元素成员名和分值的长度 ≤ zset-max-ziplist-value(默认64字节)

如果有任何一个不满足,还是跳表+哈希表作为底层实现

相关推荐
爱学习的阿磊14 分钟前
使用Fabric自动化你的部署流程
jvm·数据库·python
摇滚侠19 分钟前
阿里云安装的 Redis 在什么位置,如何找到 Redis 的安装位置
redis·阿里云·云计算
枷锁—sha20 分钟前
【SRC】SQL注入快速判定与应对策略(一)
网络·数据库·sql·安全·网络安全·系统安全
惜分飞33 分钟前
ORA-600 kcratr_nab_less_than_odr和ORA-600 4193故障处理--惜分飞
数据库·oracle
chian-ocean33 分钟前
CANN 生态进阶:利用 `profiling-tools` 优化模型性能
数据库·mysql
m0_5500246337 分钟前
持续集成/持续部署(CI/CD) for Python
jvm·数据库·python
AC赳赳老秦38 分钟前
代码生成超越 GPT-4:DeepSeek-V4 编程任务实战与 2026 开发者效率提升指南
数据库·数据仓库·人工智能·科技·rabbitmq·memcache·deepseek
啦啦啦_99991 小时前
Redis-2-queryFormat()方法
数据库·redis·缓存
玄同7652 小时前
SQLite + LLM:大模型应用落地的轻量级数据存储方案
jvm·数据库·人工智能·python·语言模型·sqlite·知识图谱
吾日三省吾码2 小时前
别只会“加索引”了!这 3 个 PostgreSQL 反常识优化,能把性能和成本一起打下来
数据库·postgresql