《Redis设计与实现》读书笔记
《Redis设计与实现》读书笔记
进击的营长
雁过留痕,掷地有声。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
第十五章-复制
可以通过执行SLAVEOF命令或者设置slaveof选项,让一个服务器去复制(replicate)另一个服务器。如:127.0.0.1:12345> SLAVEOF 127.0.0.1 6379OK进行复制中的主从服务器双方的数据库将始终保存相同的数据,概念上将这种现象称作“数据库状态一致”,或者简称“一致”。15.1旧版复制功能的实现Redis的复制功能分为同步(sync)和命...原创 2020-03-13 22:25:37 · 225 阅读 · 0 评论 -
第九章-数据库
9.1 服务器中的数据库 90所有数据库都保存在服务器状态redisServer结构的db数组中:struct redisServer { // ... redisDb *db; // 一个数组,保存着服务器中的所有数据库 int dbnum; //服务器的数据库数量 // ...};dbnum属性来决定应该创建多少个数据库(默认16个),可以...原创 2020-03-13 08:53:33 · 307 阅读 · 0 评论 -
第十一章-AOF持久化
与RDB不同,AOF持久化是通过保存Redis服务器所执行的写命令来记录数据库状态的。被写入AOF文件的所有命令都是以Redis的命令请求协议格式保存的。服务器在启动时,可以通过载入和执行AOF文件中保存的命令来还原服务器关闭之前的数据库状态。11.1AOF持久化的实现AOF持久化功能的实现可以分为命令追加( append)、文件写入、文件同步( sync)三个步骤。11.1.1命令追加...原创 2020-03-13 08:53:06 · 211 阅读 · 0 评论 -
第十章-RDB持久化
因为Redis是内存数据库,它将自己的数据库状态储存在内存里面,所以如果不想办法将储存在内存中的数据库状态保存到磁盘里面,那么一旦服务器进程退出,服务器中的数据库状态也会消失不见。为了解决这个问题,Redis 提供了RDB持久化功能,这个功能可以将Redis在内存中的数据库状态保存到磁盘里面,避免数据意外丢失。RDB持久化既可以手动执行,也可以根据服务器配置选项定期执行,该功能可以将某个时间点...原创 2020-03-13 08:52:27 · 244 阅读 · 0 评论 -
第五章-跳跃表
跳跃表(skiplist)是一种有序数据结构,它通过在每个节点中维持多个指向其他节点的指针,从而达到快速访问节点的目的。支持平均O(logN)、最坏O(N)复杂度的节点查找,还可以通过顺序性操作来批量处理节点。Redis只在两个地方用到了跳跃表,一个是实现有序集合键,另一个是在集群节点中用作内部数据结构。5.1 跳跃表的实现 39Redis的跳跃表由redis. h/ zskiplistNo...原创 2020-01-18 22:00:24 · 217 阅读 · 0 评论 -
第四章-字典
字典,又称为符号表( symbol table )、关联数组( associative array )或映射(map), 是一种用于保存键值对( key-value pair )的抽象数据结构。4.1 字典的实现 24Redis的字典使用哈希表作为底层实现,一个哈希表里面可以有多个哈希表节点,而每个哈希表节点就保存了字典中的一个键值对。4.1.1哈希表// 哈希表typedef stru...原创 2020-01-17 20:44:14 · 192 阅读 · 0 评论 -
第三章-链表
Redis中除了链表键之外,发布与订阅、慢查询、监视器等功能也用到了链表,Redis服务器本身还使用链表来保存多个客户端的状态信息,以及使用链表来构建客户端输出缓冲区。3.1 链表和链表节点的实现 20// 链表节点定义typedef struct listNode { struct listNode * prev; // 前置节点 struct listNode * ne...原创 2020-01-16 21:19:26 · 172 阅读 · 0 评论 -
第二章-简单动态字符串
在Redis的数据库里面,包含字符串值的键值对(注意,键也是)在底层都是由SDS实现的。(在Redis源码里,C字符串只会作为字符串字面量用在一些无须对字符串值进行修改的地方,比如打印日志)。如:redis> SET msg "hello world"OKRedis将在数据库中创建一个新的键值对,其中键是一个字符串对象,对象的底层实现是一个保存着字符串“msg”的SDS。值也是一个字...原创 2020-01-16 21:19:04 · 231 阅读 · 0 评论
分享