zset作为有序集合,内部基于跳表或者说索引的方式实现了数据的快速查找。解决了链表查询效率低下的痛点
前言
- 本章节我们将视角下推,继续学习
Redis
五大天王中的zset
数据结构 ;zset
是有序不重复集合其内部元素唯一且是有序的,他的排序标准是根据其内部score维度进行排序的。
zset结构
基本单元
- 关于zset结构很简单,一个是字典结构(简单理解成Hash结构),另外一个是跳跃表结构 ;
- 我们根据上面zset的结构图也能够看出来,zskiplist实际上就是一个链表。
zskiplist
- 我们查看源码不难看出其内部结构是对zset中链表的一个抽象描述。zskiplist首先会对这个链表记录其头结点、尾结点方便通过zskiplist进行遍历操作。剩下的length自然就是对内部的这个链表数量的统计。比较抽象的是这个level的理解。在上面我们也看到了zskiplist那个链表实际上会有分层的概念。
- 这