Redis底层之链表
Redis底层之链表
Redis底层链表节点使用listNode来实现。
每个listNode节点包含三个成员,一个prev指针指向前一个listNode,一个next指针指向下一个节点。一个value指针指向任何类型的值。
多个listNode通过prev和next指针组成双端链表。
通过一个list比较方便地来管理产生的listNode链表。
list结构为链表提供了表头指针head,表尾指针tail,链表长度计数器len。
dup函数用于复制链表节点所保存的值;
free函数用于释放链表节点所保存的值;
match函数用于对比链表节点保存的值和输入值是否相等。
链表完整结构如下:
Redis链表特性总结如下: