Redis list 源码

Posted on Thu 08 December 2016 in Redis, C

Files

  • adlist.h 头文件,定义 list 数据结构,一些宏以及函数原型声明。
  • adlist.c 函数的实现

Data Structure

list 节点的数据结构 listNode

typedef struct listNode {
    struct listNode *prev;
    struct listNode *next;
    void *value;
} listNode;

prev 指向前一个节点,next指向下一个节点,value存储数据的指针。

list 迭代器的数据结构 listIter

typedef struct listIter {
    listNode *next;
    int direction;
} listIter;

next 指向下一个返回的节点,direction 指定迭代的方向:AL_START_HEAD从头开始迭代,而AL_START_TAIL 从尾部开始迭代 ...


Continue reading