本文所引用的源码全部来自Redis2.8.2版本。
Redis中linkedlist数据结构与API相关文件是adlist.c, adlist.h。
本文主要讲解Redis中对双向链表的详细实现,以及相关API的分析,对于双向链表本身可以从任意一本数据结构书本中得到详解。
转载请注明,来自:http://blog.csdn.net/acceptedxukai/article/details/17467373
一、双向链表简介
双向链表作为一种常见的数据结构,在严蔚敏数据结构书里有详细的讲解,双向链表的每个数据节点都有两个指针,分别指向后继与前驱节点,因此从双向链表中的任意一个节点开始都可以很方便地访问其前驱与后继节点。
二、Redis中双向链表数据结构以及相关宏定义
typedef struct listNode {
struct listNode *prev;//前驱指针
struc