【Redis设计与实现】 读书笔记 数据结构与对象 链表
2018-08-23 20:52
525 查看
链表
简介
链表作为一种常用数据结构,链表内置在很多高级的编程语言里面,因为Redis使用的C语言并没有内置这种数据结构,所以Redis构建了自己的链表结构。
链表在Redis中应用非常广泛,比如列表建的底层实现之一就是链表。当一个列表键包含了数量比较多的元素,又或者列表中包含的元素都是比较唱的字符串时,Redis就会使用链表作为列表键的底层实现。
要点
- 链表被广泛用于实现Redis的各种功能,比如列表建、发布与订阅、慢查询、监视器等
- 每个链表节点由一个listNode结构来表示,每个节点都有一个指向前置节点和后置节点的指针,所以Redis的链表实现是双端链表。
- 每个链表使用一个list结构来表示,这个结构带有表头节点指针、表尾节点指针,以及链表长度等信息。
- 因为链表表头节点的前置节点和表尾节点的后置节点都指向NULL,所以Redis的链表实现是无环链表。
- 通过为链表设置不同的类型特定函数,Redis的链表可以用于保存各种不同类型的值。
心得
这章主要是讲解Redis使用的链表,这个数据结构,和大多数语言实现的数据结构大同小异,还有一连串的API。
阅读更多相关文章推荐
- Redis设计与实现】 读书笔记 数据结构与对象 整数集合
- 【Redis设计与实现】 读书笔记 数据结构与对象 对象
- 数据结构基础(10) --单链表迭代器的设计与实现
- 数据结构基础(11) --循环链表的设计与实现
- Redis 一、数据结构与对象--五大数据类型的底层结构实现
- [REDIS 读书笔记]第一部分 数据结构与对象 跳跃表
- Redis 设计与实现 (一)--数据结构
- 数据结构基础(10) --单链表迭代器的设计与实现
- Redis设计与实现——数据结构(二)
- redis 源代码之数据结构(sds,链表的实现)
- 我知道点redis-数据结构与对象(链表)
- 数据结构之链表的实现-------C++课程设计-----学生选课管理系统
- 数据结构课程设计-----用C#实现双向链表
- 数据结构基础(10) --单链表迭代器的设计与实现
- 数据结构基础(11) --循环链表的设计与实现
- 数据结构基础(10) --单链表迭代器的设计与实现
- 数据结构基础(12) --双向循环链表的设计与实现
- 数据结构基础(12) --双向循环链表的设计与实现
- 数据结构基础(12) --双向循环链表的设计与实现
- 数据结构与实现——数组、矩阵、链表、队列、栈、对象、二叉树和红黑树