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

相关推荐
豆包公子11 小时前
程序流监控 —— AUTOSAR CP 功能安全在裸机 MCU 上的实现:实践篇
单片机·嵌入式硬件·学习
yunhuibin12 小时前
videopipe学习之demo运行
人工智能·深度学习·学习
java修仙传12 小时前
从手写 Redis 锁到 Redisson:我对分布式锁安全性的理解
java·数据库·redis·分布式
oh LAN12 小时前
Windows 下 Redis 开机自启
数据库·windows·redis
Engineer邓祥浩12 小时前
JVM学习笔记(9) 第三部分 虚拟机执行子系统 第8章 虚拟机字节码执行引擎
jvm·笔记·学习
xuhaoyu_cpp_java12 小时前
MySql学习(三)
经验分享·笔记·学习·mysql
鱼鳞_12 小时前
Java学习笔记_Day31(IO流)
java·笔记·学习
red_redemption12 小时前
自由学习记录(162)
学习
全栈游侠12 小时前
09-FreeRTOS通信机制(一)
笔记
智者知已应修善业13 小时前
【51单片机独立按键控制往复流水灯启停】2023-6-13
c++·经验分享·笔记·算法·51单片机