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

相关推荐
haerapicom9 小时前
欠定方程里藏着哪几个非零项:OMP 稀疏恢复侦探笔记
笔记
程思扬9 小时前
Android ANR实战排查:主线程SystemClock.sleep导致页面启动偶现无响应
android·笔记
spter。10 小时前
一次 Redis SETNX 的小插曲,我重新理解了原子性
前端·redis·bootstrap
zjnlswd10 小时前
C#学习笔记4
笔记·学习·c#
minglie110 小时前
在linux环境烧录esp8266
学习
xqqxqxxq11 小时前
AI Agent学习:MCP与工具生态:工具选择的挑战(李博杰《深入理解 AI Agent》4.3观后总结)
人工智能·学习
青山是哪个青山11 小时前
LangChain 学习笔记(九):上下文与记忆
笔记·学习·langchain
KaKa_大王12 小时前
关于秒杀项目的一些理解
java·学习
Z59981784113 小时前
c#软件开发学习笔记--Modbus-TCP/UDP网口通讯
笔记·学习·c#
zyf10441613 小时前
暑期实践日志 Day29:根据修改要求,进行视频字幕添加
学习·计算机网络·剪辑·暑期实践·课题任务