链表

    作为一种常用数据结构,链表内置在很多高级的编程语言里面,因为 Redis 使用的 C 语言并没有内置这种数据结构,所以 Redis 构建了自己的链表实现。

    举个例子,以下展示的 列表键包含了从 到 共一千零二十四个整数:

    除了链表键之外,发布与订阅、慢查询、监视器等功能也用到了链表,Redis 服务器本身还使用链表来保存多个客户端的状态信息,以及使用链表来构建客户端输出缓冲区(output buffer),本书后续的章节将陆续对这些链表应用进行介绍。

    因为已经有很多优秀的算法书籍对链表的基本定义和相关算法进行了详细的讲解,所以本章不会介绍这些内容,如果不具备关于链表的基本知识的话,可以参考《算法:C 语言实现(第 1 ~ 4 部分)》一书的 3.3 至 3.5 节,或者《》一书的 3.2 节,又或者《算法导论(第三版)》一书的 10.2 节。