
redis读书笔记
文章平均质量分 80
PnJg?
这个作者很懒,什么都没留下…
展开
-
《Redis设计与实现》读书笔记-第三部分:多机数据库的实现-1:复制
目录1.旧版复制功能的实现1.1同步1.2命令传播2.旧版复制功能的缺陷3.新版复制功能的实现4.部分同步的实现4.1复制偏移量4.2复制积压缓冲区4.3服务器运行ID5.PSYNC命令的实现6.复制的实现6.1步骤1:设置主服务器的地址和端口6.2步骤2:建立套接字连接6.3步骤3:发送PING命令6.4步骤4:身份验证6.5步骤5:发送端口信息6.7步骤6:同步6.7步骤7:命令传播7.心跳检测7...原创 2022-05-05 22:13:19 · 962 阅读 · 0 评论 -
《Redis设计与实现》读书笔记-第二部分:单机数据库的实现-1:数据库
目录1.数据库1.1服务器中的数据库1.3数据库键空间1.3.1添加新键1.3.2删除键1.3.3更新键1.3.4对键取值1.3.5其他键空间操作1.3.6读写键空间时的维护操作1.4设置键的生存空间或过期空间1.4.1设置过期时间1.4.2保存过期时间1.4.3移除过期时间1.4.4计算并返回剩余生存时间1.4.5过期键的判定1.5过期键的删除策略1.5.1定时删除1.5.2惰性删除1.5.3定期删除1...原创 2022-04-27 17:46:40 · 116 阅读 · 0 评论 -
《Redis设计与实现》读书笔记-第二部分:单机数据库的实现-4:客户端与服务端
1、客户端redis服务器是典型的一对多服务器程序:一个服务器可以与多个客户端建立起网络连接,每个客户端可以向服务器发送命令请求,而服务器则接收并处理客户端发送的命令请求,并向客户端返回命令回复。redis服务器状态结构的clients属性是一个链表,这个链表保存了所有与服务器连接的客户端状态结构,对客户端执行批量操作或者查找某个指定的客户端,都可以通过遍历clients链表完成:1.1客户端属性1.1.1套接字描述符客户端状态的fd属性记录了客户端正在使用的套接字描述符:...原创 2022-05-05 20:44:33 · 181 阅读 · 0 评论 -
《Redis设计与实现》读书笔记-第二部分:单机数据库的实现-3:事件
Redis服务器是一个事件驱动程序,服务器需要处理以下两类事件:文件事件:Redis服务器通过套接字与客户端(或者其他redis服务器)连接,而文件事件就是服务器对套接字操作的抽象。服务器与客户端(或者其他服务器)的通新会产生相应的文件事件,而服务器则通过监听并处理这些事件来完成一系列网络通信操作。时间事件:redis服务器中的一些操作(比如serverCron函数)需要在给定的时间点执行,而时间事件就是服务器对这类定时操作的抽象。目录1、文件事件1.1文件事件处理器的构成1.2I.原创 2022-04-28 16:35:28 · 801 阅读 · 0 评论 -
《Redis设计与实现》读书笔记-第二部分:单机数据库的实现-2:持久化
1、RDB持久化数据库状态:服务器中非空数据库以及他们的键值对统称为数据库状态。RDB持久化既可以手动也可以根据服务器配置定期执行。将某个时间点上的数据库状态保存到一个RDB文件中(二进制文件)。通过该文件可以还原生成RDB文件时的数据库文件。1.1RDB文件的创建与载入生成RDB文件的命令:SAVE\BGSAVE。两者区别:RDB文件的载入工作是在服务器启动的时候自动执行的,所以Redis没有专门载入RDB文件的命令,只要Redis服务器在启动时检测到RDB文件的存在就会自动.原创 2022-04-27 22:16:12 · 530 阅读 · 0 评论 -
《Redis设计与实现》读书笔记-第一部分:数据结构与对象
1.1简单动态字符串(SDS):1、redis构建了一种名为简单动态字符串得抽象类型,并用此作为redis默认的字符串表示。2、C字符串只会在redis中最为字符串字面量(无需修改的地方)3、SDS遵循C字符串以空字符串结尾的惯例,保存空字符的一字节空间不算在SDS的len属性里面;遵循空字节符结尾的好处是可以直接用C字符串函数库的函数(例如复制、对比等)4、SDS跟C字符串的区别:SDS结构中又专门记录SDS字符串的属性,所以可以在常数复杂度获取字符串长度 SDS字符串可以防止缓冲区原创 2022-04-26 21:54:16 · 1256 阅读 · 0 评论 -
《Redis设计与实现》读书笔记-第三部分:多机数据库的实现-2:Sentinel
目录1.启动并初始化sentinel1.1初始化服务器Sentinel(哨岗、哨兵)是redis的高可用性解决方案:有一个或多个Sentinel实例(instance)组成的sentinel系统(system)可以监视任意多个主服务器以及这些主服务器属下的所有从服务器,并在被监视的主服务器进入下线状态时,自动将下线的主服务器属下的某个从服务器升级为新的主服务器,然后由新的主服务器代替已下线的主服务器继续处理命令请求。假设这时,主服务器server1进入下线状态,那么从服务器se.原创 2022-05-11 17:36:28 · 134 阅读 · 0 评论 -
《Redis设计与实现》读书笔记-第三部分:多机数据库的实现-3:集群
1.节点一个redis集群通常由多个节点组成,在刚开始的时候,每个节点都是相互独立的,它们都处于一个只包含自己的集群中,要建立一个真正可工作的集群,我们必须将各个独立的节点连接起来,构成一个包含多个节点的集群。连接各个节点可以通过CLUSTER MEET命令完成1.1启动节点一个节点就是一个运行在集群模式下的redis服务器,Redis服务器在启动时会根据cluster-enabled配置选项是否为yes来决定是否开启服务器的集群模式:节点 ,即运行在集群模式下的Redis服务器....原创 2022-05-12 17:14:28 · 125 阅读 · 0 评论