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

相关推荐
牛奶咖啡1315 小时前
免费笔记软件且优先本地私有化——Joplin、Obsidian
笔记·obsidian·joplin·待办事项应用程序·开源笔记应用·可私有化本地笔记应用·笔记的同步与插件安装
cskywit15 小时前
【TMI2025】赋予AI医生“解耦思维”:基于概率属性学习(PAL)的皮肤病变分割框架拆解
人工智能·学习
莱茶荼菜15 小时前
LLM学习
学习
啥咕啦呛16 小时前
java打卡学习6:集合框架 Collection
java·windows·学习
皙然16 小时前
Redis核心理论:数据删除与淘汰策略详解(从原理到实战)
数据库·redis·缓存
Miki Makimura16 小时前
Redis基础指令学习
数据库·redis·学习
忙什么果16 小时前
transformer学习笔记1
笔记·学习·transformer
风舞雪凌月16 小时前
【趣谈】移动系统和桌面系统编程语言思考
java·c语言·c++·python·学习·objective-c·swift
88号技师16 小时前
2026年3月新锐一区SCI-随机社会学习优化算法Stochastic social learning-附Matlab免费代码
学习·算法·数学建模·matlab·优化算法
阿i索16 小时前
【蓝桥杯备赛Day5】排序
笔记·蓝桥杯·排序算法