[redis] zset(Sorted Set)的底层结构 - 跳表

Redis中的有序集合(Sorted Set)使用的是一种叫做"跳跃表"(Skip List)的数据结构作为其底层实现。

跳表

跳表是一种基于链表的数据结构,用于实现快速查找。相对于平衡树和哈希表等数据结构,它的实现更加简单,而且能够提供相对较快的查询、插入和删除操作。
在这里插入图片描述
简单来说,跳表就是在链表上加一个索引,比如上图中查找18,原本需要8次,但是加入一层索引后只需要五次,加入两层索引后只需要四次
需要注意的是,跳表在更新数据的时候,也要随之更新索引

在Redis中,跳跃表不仅用于有序集合,还被用于实现Redis中的有序集合命令中的一些辅助数据结构,例如,计算ZUNIONSTORE和ZINTERSTORE的时候会用到跳跃表来辅助实现。

猜你喜欢

转载自blog.csdn.net/qq_67548292/article/details/130123492