Redis学习笔记 - 链表

文章目录

      • redis命令手册
  • 第三章 链表
    • 链表和链表节点的实现
    • 重点回顾

redis命令手册

第三章 链表

  • 拥有高效的节点重排能力
  • 顺序性的节点访问方式
  • 灵活调整链表长度
  • redis构建了自己的链表实现
  • redis中列表键的底层实现之一就是链表
  • 发布与订阅、慢查询、监视器等功能也用到了链表
  • redis服务器本身还使用链表来保存多个客户端的状态信息
  • 已经使用链表来构建客户端输出缓冲区

链表和链表节点的实现

  • adlist.h/listNode 结构表示

    typedef stuct listNode{
        //前置节点
        struct listNode *prev;
        //后置节点
        struct listNode *next;
        //节点的值
        void *value;
    }listNode;
    
  • 使用adlist.h/list 来持有链表(管理用) 操作更方便

    typedef struct list{
        //表头节点
        //表尾节点
        //链表所包含的节点数量
        //节点值复制函数
        //节点值释放函数
        //节点值对比函数  是否相等
    }list;
    
  • redis的链表实现的特性可以总结如下:

    • 双端
    • 无环
    • 带表头指针和表尾指针
    • 带链表长度计数器
    • 多态

重点回顾

  • redis中链表的应用
  • redis中链表节点listNode的结构
  • redis中链表list结构
  • 无环链表
  • 链表相关函数

你可能感兴趣的:(redis,redis)