引言
本章介绍 redis的一些链表式的数据结构,在 redis 中类链表的数据结构有
adlist
一个简单的双向链表,实在太简单,不展开
typedef struct listNode {
struct listNode *prev;
struct listNode *next;
void *value;
} listNode;
typedef struct list {
listNode *head;
listNode *tail;
void *(*dup)(void *ptr);
void (*free)(void *ptr);
int (*match)(void *ptr, void *key);
unsigned long len;
} list;
ziplist
ziplist 是一个压缩的双向链表,它可以用来存储字符串和数字,其设计十分紧凑,在同一块内存中存储一系列的数字或字符串。