Redis架构篇 - 双向链表

双向链表

双向链表提供了高效的节点重排能力,以及顺序性的节点访问,并且通过增删节点来灵活调整链表的长度。

每个链表节点使用一个adlist.h/listNode结构来表示:

Redis架构篇 - 双向链表_第1张图片

.

多个listNode可以通过prev、next指针组成双向链表。

在这里插入图片描述

.

对应Redis的adlist.h/list表示链表。

Redis架构篇 - 双向链表_第2张图片

  • dup函数 :用于复制链表节点所保存的值。
  • free函数 :用于释放链表节点所保存的值。
  • match函数 : 用于对比链表节点所保存的值与给定值是否相等。

Redis架构篇 - 双向链表_第3张图片

.

Redis架构篇 - 双向链表_第4张图片

你可能感兴趣的:(#,Redis)