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结构
  • 无环链表
  • 链表相关函数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值