以下为Redis链表中一个节点的结构
    typedef struct listNode {
        // 前置节点
        struct listNode *prev;
        // 后置节点
        struct listNode *next;
        // 节点的值
        void *value;
    } listNode; 
可以看见此结构与我们常见的双向链表结构类似。由前去后继节点的地址以及当前节点的值组成。
redis中链表的表示结构为:
    typedef struct list {
        // 表头节点
        listNode *head;
        // 表尾节点
        listNode *tail;
        // 链表所包含的节点数量
        unsigned long len;
        // 节点值复制函数
        void *(*dup)(void *ptr);
        // 节点值释放函数
        void (*free)(void *ptr);
        // 节点值对比函数
        int (*match)(void *ptr, void *key);
    } list; 
redis这样实现也是为了更好的操作使用链表。



















