《Redis - 基础数据结构 - 双向链表》

一:概述

  - Redis 源码版本为3.0.0.

  - 链表(list)是Redis中最基本的数据结构,  列表/发布订阅/慢查询/监控器 等都是用使用链表。

 

二:链表的定义

  - 链表节点使用(src/adlist.h)表示

    -

  - 多个节点可以组成双端链表

    -  

   - 虽然使用 listNode 结构就可以组成链表,但是使用 (src/adlist.h) 来组织节点数据,操作会更方便。

    - 

   - 使用 list 组织链表

    - 

  

三:链表特性

  - 双端:链表节点都有 next / prev,获取相连节点为O(1)。

  - 无环:链表的访问 终点为 null.

  - 表头和表尾指针:通过 List 结构,O(1) 获取表头和表尾指针。

  - 链表长度计算:List 节点 Len 获取链表长度。

  - 多态 :链表使用 *void 保存值,通过 List 的 dup/free/mastch 三个属性节点设置特定的函数。所以链表可以保存各种不同的值。

posted @ 2020-04-05 20:11  Zzz哈  Views(487)  Comments(0Edit  收藏  举报