Hello World

Redis数据结构(2):list(链表)

1. 基本结构

  Redis 早期版本存储 list 列表数据结构使用的是压缩列表 ziplist 和普通的双向链表 linkedlist,也就是元素少时用 ziplist,元素多时用 linkedlist。

// 链表
struct list {
    listNode *head; 
    listNode *tail;
    long length;
}

// 链表的节点
struct listNode<T> {
    listNode* prev;
    listNode* next;
    T value;
}
  1. head 节点的 prev 和 tail 节点的 next 都指向 NULL, 对链表的访问以NULL为终点
  2. length 为链表存储的节点个数,获取节点数量的复杂度为0(1)
posted @ 2018-08-27 15:10  小小忧愁米粒大  阅读(737)  评论(0编辑  收藏  举报
瞅啥瞅,好好看书