redis-原理-数据结构-链表(二)

应用场景

1.redids列表的底层实现之一就是链表.当列表长度包含了较多的数量就是链表实现

2.发布订阅

3.慢查询

4.监视器

链表的定义

list定义

1.dub函数用于复制链表节点保存的值

2.free用于释放链表节点保存的值

3.match用于对比链表节点锁保存的值是否和另一个输入的值相等

 

node节点定义

 

 

redis链表的特点 

1.双端链表,因为每个node节点都报存的next和prev指针,获取前置节点和后置节点都是复杂度都是O(1)

2.list结构保存了表头和表位的指针,所以list获取表头和表尾复杂度都是O(1)

3.list带有链表的长度len,所以获取list的长度复杂度都是0(1)

4.redis链表设置不同的特定类型函数,可以保存不同类型

5.list的表头的节点和表尾的节点prev和next都是null所以是无环链表

链表的API以及复杂度

 

posted @ 2021-03-04 22:59  意犹未尽  阅读(62)  评论(0编辑  收藏  举报