码迷,mamicode.com
首页 > 其他好文 > 详细

Redis实现原理(1)--链表

时间:2014-08-03 01:45:04      阅读:347      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   使用   io   文件   数据   cti   

链表是Redis中使用非常广泛的一种数据结构,很多地方如List结构底层就是用链表实现的。

链表的定义在头文件adlist.h 中,很常见的双向链表,结构如下:

 1 // 链表节点
 2 typedef struct listNode {
 3     struct listNode *prev; //指向前一个节点
 4     struct listNode *next; //指向后一个节点
 5     void *value; //值域
 6 } listNode; 
 7 // 链表遍历迭代指针
 8 typedef struct listIter {
 9     listNode *next; //下一节点指针
10     int direction; // 方向
11 } listIter;
12 
13 // 链表结构
14 typedef struct list {
15     listNode *head; //链表头指针
16     listNode *tail; //链表尾指针
17     void *(*dup)(void *ptr); //节点值域复制函数指针
18     void (*free)(void *ptr); //节点值域释放函数指针
19     int (*match)(void *ptr, void *key); //节点值域比较函数指针
20     unsigned long len; //链表长度
21 } list;

 

Redis实现原理(1)--链表,布布扣,bubuko.com

Redis实现原理(1)--链表

标签:style   blog   color   使用   io   文件   数据   cti   

原文地址:http://www.cnblogs.com/yancey/p/3887830.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!