Redis底层之链表

Redis底层之链表

Redis底层链表节点使用listNode来实现。

Redis底层之链表

每个listNode节点包含三个成员,一个prev指针指向前一个listNode,一个next指针指向下一个节点。一个value指针指向任何类型的值。

Redis底层之链表

多个listNode通过prev和next指针组成双端链表。

通过一个list比较方便地来管理产生的listNode链表。

Redis底层之链表


list结构为链表提供了表头指针head,表尾指针tail,链表长度计数器len。

dup函数用于复制链表节点所保存的值;

free函数用于释放链表节点所保存的值;

match函数用于对比链表节点保存的值和输入值是否相等。

链表完整结构如下:

Redis底层之链表


Redis链表特性总结如下:

Redis底层之链表