【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字节)

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

相关推荐
h***346320 小时前
Redis安装教程(Windows版本)
数据库·windows·redis
3***g20520 小时前
如何使用Spring Boot框架整合Redis:超详细案例教程
spring boot·redis·后端
a***131421 小时前
redis存取list集合
windows·redis·list
toooooop821 小时前
CentOS 7 系统上安装 **Nginx + MySQL 5.7 + PHP 7.3 + Redis** 的完整步骤
redis·mysql·nginx·centos·php7
泡沫·1 天前
5.MariaDB数据库管理
数据库·mariadb
i***51261 天前
【数据库】MySQL的安装与卸载
数据库·mysql·adb
数白1 天前
Oracle 数据迁移最佳实践(不使用第三方工具)
数据库·oracle
周杰伦fans1 天前
C# 中的**享元工厂**模式
开发语言·数据库·c#
空空kkk1 天前
SpringMVC——拦截器
java·数据库·spring·拦截器
J***51681 天前
MySql中的事务、MySql事务详解、MySql隔离级别
数据库·mysql·adb