Redis 二 - 链表

Redis 二 - 链表

涉及文件主要是 adlist.hadlist.c

定义

每一个链表节点使用 listNode 表示:

1
2
3
4
5
typedef struct listNode {
struct listNode *prev;
struct listNode *next;
void *value;
} listNode;

使用 list 来更加方便地表示一个链表:

1
2
3
4
5
6
7
8
9
10
11
typedef struct list {
listNode *head;
listNode *tail;
/* copy data of node */
void *(*dup)(void *ptr);
/* free data of node */
void (*free)(void *ptr);
/* compare is data equal */
int (*match)(void *ptr, void *key);
unsigned long len;
} list;

推荐文章