redis数据结构实现--跳跃表(zskiplist)

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: redis数据结构实现(四) 4 跳表的实现 *结构图: 跳表由zskiplistNode和构成zskiplist构成 zskiplist结构: header: 指向跳跃表的头节点 tail: 指向跳跃表的尾节点 level: 跳跃表中层数最大节点的层数(表头的层数不计入) length: 跳表保存的节点数(空表头不计入) zskiplistNode结构: level数组: 层,每次创建一个新的跳表节点都会根据幂次定律计算出level数组的大 小,也就是次层的高度。

redis数据结构实现--跳跃表(zskiplist)

4 跳表的实现


结构图:
Image_3_

跳表由zskiplistNode和构成zskiplist构成

zskiplist结构:

    header: 指向跳跃表的头节点
    tail: 指向跳跃表的尾节点
    level: 跳跃表中层数最大节点的层数(表头的层数不计入)
    length: 跳表保存的节点数(空表头不计入)

zskiplistNode结构:

    level数组:层,每次创建一个新的跳表节点都会根据幂次定律计算出level数组的大小,也就是次层的高度.
每一层带有两个属性-前进指针和跨度.
前进指针用于访问表尾方向的其他指针;跨度用于记录当前节点与前进指针所指节点的距离
   backward: 后退指针,指向当前节点的前一个节点
   score:分值,用来排序,如果分值相同看成员变量在字典序大小排序
   obj: 成员对象是一个指针,指向一个字符串对象里面保存着一个sds;
            在跳表中各个节点的成员对象必须唯一,分值可以相同
相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
8天前
|
XML JSON NoSQL
Redis的常用数据结构之字符串类型
Redis的常用数据结构之字符串类型
19 0
|
15天前
|
存储 消息中间件 NoSQL
Redis数据类型详解:选择合适的数据结构优化你的应用
Redis数据类型详解:选择合适的数据结构优化你的应用
|
21天前
|
存储 NoSQL 算法
【Redis技术进阶之路】「底层源码解析」揭秘高效存储模型与数据结构底层实现(字典)(二)
【Redis技术进阶之路】「底层源码解析」揭秘高效存储模型与数据结构底层实现(字典)
34 0
|
21天前
|
存储 NoSQL Redis
作者推荐 |【Redis技术进阶之路】「原理系列开篇」揭秘高效存储模型与数据结构底层实现(SDS)(三)
作者推荐 |【Redis技术进阶之路】「原理系列开篇」揭秘高效存储模型与数据结构底层实现(SDS)
19 0
|
22天前
|
存储 NoSQL Java
Redis 数据结构操作入门
Redis 数据结构操作入门
15 0
|
8天前
|
NoSQL Linux Redis
06- 你们使用Redis是单点还是集群 ? 哪种集群 ?
**Redis配置:** 使用哨兵集群,结构为1主2从,加上3个哨兵节点,总计分布在3台Linux服务器上,提供高可用性。
17 0
|
17天前
|
负载均衡 监控 NoSQL
Redis的集群方案有哪些?
Redis集群包括主从复制(基础,手动故障恢复)、哨兵模式(自动高可用)和Redis Cluster(官方分布式解决方案,自动分片和容错)。此外,还有如Codis、Redisson和Twemproxy等第三方工具用于代理和负载均衡。选择方案需考虑应用场景、数据规模和并发需求。
17 2
|
22天前
|
NoSQL Redis
Redis集群(六):集群常用命令及说明
Redis集群(六):集群常用命令及说明
15 0
|
2月前
|
运维 NoSQL 算法
Redis-Cluster 与 Redis 集群的技术大比拼
Redis-Cluster 与 Redis 集群的技术大比拼
46 0

热门文章

最新文章