Redis 第二讲 LIST 类型

LIST 实现原理基于数据结构中的双向链表

adlist.h/list    链表主体结构
typedef struct list {
         listNode *head;   //表头节点
                 listNode *tail;      //链表尾部节点
                 unsigned long len;  //链表节点数量
                 void *(*dup) (void *ptr);  //节点值赋值函数
                 void *(*free) (void *ptr);  //节点值释放函数 
                 int (*match) (void *ptr, void *key); //节点值对比函数
}
adlist.h/listNode  链表每个节点的结构
typedef stuct listNode {
                struct listNode *prev;  //前面节点
                struct listNode *next; //后面的节点
                void * value;   //当前节点的值
}

无环链表,头上一个元素,尾下一个元素指向NULL。
找头找尾 ,找前找后,查长度 复杂度都是O1。

重点 :REDIS链表dup,fee , match 可以保存不通类型的值????这个没有特别好的理解。
本作品采用《CC 协议》,转载必须注明作者和本文链接
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!