zoukankan      html  css  js  c++  java
  • Redis数据结构之跳跃表

      跳跃表是一种有序数据结构,它通过在每个节点中维持多个指向其他节点的指针,从而达到快速访问节点的目的。

    一、跳跃表结构定义
    1. 跳跃表节点结构定义:

    2. 跳跃表结构定义:

    示例:

    二、跳跃表节点中各种结构的作用
    1. 层:用于加快访问其他节点的速度,一般来说,层的数量越多,访问其他节点的速度就越快。
    2. 前进指针:用于从表头向表尾方向访问节点。
    3. 跨度:用于计算排位。在查找某个节点的过程中,将沿途访问过的所有层的跨度累计起来,得到的结果就是目标节点在跳跃表中的排位。
    4. 后退指针:用于从表尾向表头方向访问节点。
    5. 分值和成员:跳跃表中所有节点都按分值从小到大排序。

    三、跳跃表在Redis中的用途
    Redis只在两个地方使用到了跳跃表:
    1. 作为有序集合键的底层实现之一: 如果一个有序集合包含的元素数量比较多,又或者有序集合中元素的成员是比较长的字符串时,Redis就会使用跳跃表来作为有序集合键的底层实现。
    2. 在集群节点中用作内部数据结构。

  • 相关阅读:
    插入排序
    dojo树的节点添加链接的例子
    Discuz 3x 配置问题
    mysql_connect() 不支持 请检查 mysql 模块是否正确加载
    IIS访问php页面问题,报告404错误
    Map使用操作系统内存的情况
    IT级别
    java类型和mysql类型的转换
    C++析构函数的自动调用问题
    c++中虚函数
  • 原文地址:https://www.cnblogs.com/wujuntian/p/9129658.html
Copyright © 2011-2022 走看看