Redis---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)

猜你喜欢

转载自www.cnblogs.com/virgosnail/p/9542331.html
今日推荐