【学习笔记】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)

相关推荐
三水不滴9 小时前
Redis 过期删除与内存淘汰机制
数据库·经验分享·redis·笔记·后端·缓存
wdfk_prog10 小时前
[Linux]学习笔记系列 -- [drivers][i2c]i2c-dev
linux·笔记·学习
土拨鼠烧电路10 小时前
笔记03:业务语言速成:“人、货、场”模型与IT系统全景图
笔记
2301_8127314111 小时前
CSS3笔记
前端·笔记·css3
越努力越幸运50811 小时前
CSS3学习之网格布局grid
前端·学习·css3
chillxiaohan12 小时前
GO学习记录——多文件调用
开发语言·学习·golang
小乔的编程内容分享站12 小时前
记录使用VSCode调试含scanf()的C语言程序出现的两个问题
c语言·开发语言·笔记·vscode
indexsunny12 小时前
互联网大厂Java面试实战:从Spring Boot到微服务架构的技术问答解析
java·spring boot·redis·微服务·kafka·jwt·flyway
ytgytg2813 小时前
HC小区管理系统安装,提示redis连接错误
数据库·redis·缓存
中屹指纹浏览器13 小时前
2026年指纹浏览器技术迭代与风控对抗演进
经验分享·笔记