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

相关推荐
绿豆人7 小时前
RPC项目学习2
网络协议·学习·rpc
码喽7号7 小时前
vue学习五:前端路由VueRouter
前端·vue.js·学习
_李小白8 小时前
【OSG学习笔记】Day 49: 实战鼠标拾取与高亮显示
笔记·学习·计算机外设
Wyawsl8 小时前
keepalived高可用与负载均衡笔记
运维·笔记·负载均衡
chushiyunen8 小时前
obs studio软件、直播、视频录制笔记
笔记·音视频
空太Jun8 小时前
Redis 5大核心数据类型与持久化实战
数据库·redis·缓存
何如呢8 小时前
FIFO的IP核学习
学习·fpga开发
折锦烟8 小时前
AI Agent 开发 0-1 学习路线(学习目标)
学习
却话巴山夜雨时i9 小时前
互联网大厂Java面试:从Spring Boot到Kafka的业务场景深度剖析
spring boot·redis·spring cloud·微服务·kafka·prometheus·java面试
艾莉丝努力练剑9 小时前
【Linux线程】Linux系统多线程(六):<线程同步与互斥>线程同步(上)
java·linux·运维·服务器·c++·学习·线程