文章 2024-01-15 来自:开发者社区

redis7.0源码阅读(五):跳表(skiplist)

一、跳表(zsl)的基本结构了解redis中地跳表zsl之前,首先要了解理想的跳表理想跳表:上图总共有4层,自下往上,分别为level=1,2,3,4每层都有个span,但是最底层,不需要span=1,因为直接forward就行了。span=2是什么意思呢?比如在1号节点,可以直接跳到3号节点。每个节点有好几个level,比如1号节点,有span=2,4,8,它可以跳到2,3,5,8这几个节点。....

redis7.0源码阅读(五):跳表(skiplist)
文章 2023-06-21 来自:开发者社区

Redis源码之跳表数据结构

跳表跳跃表(skiplist)是一种随机化的数据, 由 William Pugh 在论文《Skip lists: a probabilistic alternative to balanced trees》中提出, 跳跃表以有序的方式在层次化的链表中保存元素, 效率和平衡树媲美 —— 查找、删除、添加等操作都可以在对数期望时间下完成, 并且比起平衡树来说, 跳跃表的实现要简单直观得多。跳表是一个....

Redis源码之跳表数据结构
文章 2022-12-16 来自:开发者社区

Redis源码剖析之跳表(skiplist)

计算机领域有很多种数据结构,数据结构的存在要么是为了节省时间、要么是为了节省空间,或者二者兼具,所以就有部分数据结构有时间换空间,空间换时间之说。其实还有某些以牺牲准确性来达到节省时间空间的数据结构,像我之间讲过的bloomfilter就是其中的典型。而今天要讲的skiplist也是一种概率性数据结构,它以一种随机概率降数据组织成多级结构,方便快速查找。跳表究竟何为跳表?我们先来考虑下这个场景,....

Redis源码剖析之跳表(skiplist)

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐

云原生多模数据库Lindorm

Lindorm是适用于任何规模、多种类型的云原生数据库服务,支持海量数据的低成本存储处理和弹性按需付费,兼容HBase、Solr、SQL、OpenTSDB等多种开源标准接口,是互联网、IoT、车联网、广告、社交、监控、游戏、风控等场景首选数据库,也是为阿里巴巴核心业务提供支撑的数据库之一。

+关注