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

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

LLEN integers

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

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

-w792
dup 函数用于复制链表节点所保存的值。
free函数用于释放所保存的值
match比较链表节点所保存的值和另一个输入的值是否县个洞。

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

3.2 链表和链表节点的API

-w782
-w791

3.3 重点回顾

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值