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

LLEN integers

链表除了用作键之外,还与发布与订阅、慢查询、监视器等功能有关。redis本身用链表保存多个客户端的状态信息。

3.1 链表和链表及链表节点的实现

《Redis设计与实现》第三章 链表
dup 函数用于复制链表节点所保存的值。
free函数用于释放所保存的值
match比较链表节点所保存的值和另一个输入的值是否县个洞。

《Redis设计与实现》第三章 链表
redis的链表实现特性有以下总结:
1、双端:prev和next指针。
2、无环:第一个节点没有前驱 最后一个节点没有后继
3、有head\tail指针
4、有链表长度计数器
5、多态

3.2 链表和链表节点的API

《Redis设计与实现》第三章 链表
《Redis设计与实现》第三章 链表

3.3 重点回顾

  • 链表被广泛用于实现Redis的各种功能,比如列表建、发布与订阅、慢查询、监视器等
  • 每个链表节点由一个listNode结构来表示,每个节点都有一个指向前置和后置节的指针。
  • 每个链表由一个list结构来表示,有头指针、尾指针以及长度等信息
  • 无环链表
  • 链表可以保存各种不同类型的值

《Redis设计与实现》第三章 链表

相关文章:

  • 2022-01-03
  • 2022-01-05
  • 2021-10-31
  • 2021-06-01
  • 2021-07-22
  • 2021-12-01
  • 2021-07-05
  • 2021-04-17
猜你喜欢
  • 2021-08-06
  • 2021-05-29
  • 2021-10-04
  • 2021-11-01
  • 2022-12-23
  • 2021-10-12
  • 2021-10-25
相关资源
相似解决方案