Redis源码(5):跳跃表
跳跃表
zskiplistNode代表跳表中的各个节点,zskiplist代表跳表。
zskiplist表示跳表,有头结点、尾节点、总长度和层级。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15typedef struct zskiplistNode {
sds ele;
double score;
struct zskiplistNode *backward;
struct zskiplistLevel {
struct zskiplistNode *forward;
unsigned long span;
} level[];
} zskiplistNode;
typedef struct zskiplist {
struct zskiplistNode *header, *tail;
unsigned long length;
int level;
} zskiplist;