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 协议》,转载必须注明作者和本文链接
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

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