【学习笔记】Redis学习笔记——第10章 RDB持久化

第10章 RDB持久化

RDB是用来做持久化的二进制压缩文件

10.1 RDB文件的创建与载入

1>SAVE命令阻塞主线程创建。

2>EGSAVE开子线程创建。

3>优先使用AOF进行初始化数据库,否则,使用RDB文件初始化,因为AOF文件的写入更加频繁,可以更加完整的还原数据库数据。

10.2 自动间隔性保存

通过Save配置,可以让Redis周期性任务执行时检查配置时间内是否进行了配置次数以上的修改,如果有则使用EGSAVE命令保存RDB文件。

10.2.2 dirty计数器和lastSave属性

dirty:自上次保存后服务器进行过多少次修改。

lastSave:服务器进行上次保存的时间。

10.3 RDB文件结构

1>REDIS:文件开头,在载入时快速判断是否为RDB文件。

2>db_version:RDB文件版本号。

3>database:全部数据库的全部键值对。

4>EOF:RDB文件结束标志。

5>check_sum:校验用,校验文件是否损坏。

10.3.1 database部分

1>SELECTDB:标志一个新的database开始读取。

2>db_number:数据库ID

3>key_value_pairs:全部键值对及过期时间。

10.4 分析RDB文件

略,用到的时候再说吧。(P133)

相关推荐
能摆一天是一天34 分钟前
Spring ai vectorstore 使用本地模型导致只能匹配可行度为1.0的内容的解决方法笔记
java·笔记·spring
进阶的DW1 小时前
Wiki + Graph + RAG 知识库建设笔记2
笔记
AOwhisky1 小时前
Linux(CentOS)系统管理入门笔记(第四期)——文件系统(下篇):文件与目录操作实战——cpmvmkdirrmln
linux·运维·笔记·centos·云计算·文件系统
bmy-happy1 小时前
网安专业课程笔记sale
笔记
网络与设备以及操作系统学习使用者2 小时前
通信的物理与逻辑双维度解析
学习·深度优先
浩瀚地学2 小时前
【Java基础复习】IO流(二)
java·开发语言·经验分享·笔记·学习
researcher-Jiang3 小时前
Manacher算法学习与应用
c++·学习·算法
智者知已应修善业4 小时前
【利用proteus设计微型CPU,完成寻址相加数据的过程。】2025-2-26
驱动开发·经验分享·笔记·硬件架构·proteus·硬件工程
学计算机的计算基4 小时前
二叉树算法下篇:递归核心技巧与高频面试题详解
java·笔记·算法