文章目录
- 总体介绍
- RDB(Redis DataBase)
- 官网介绍
- 案例演示
- 优势
- 劣势
总体介绍
- 官网地址:https://redis.io/docs/manual/persistence/
- 持久化双雄:
RDBRedis_DataBase_12">RDB(Redis DataBase)
官网介绍
- 在指定的时间间隔,执行数据集的时间点快照。
- 实现类似照片记录效果的方式,就是把某一时刻的数据和状态以文件的形式写到磁盘上,也就是快照。这样一来即使故障宕机,快照文件也不会丢失,数据的可靠性也就得到了保证。
- 这个快照文件就称为 RDB 文件(dump.rdb),其中,RDB 就是 Redis DataBase 的缩写。
- 在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是行话讲的 snapshot 内存快照,它恢复时再将硬盘快照文件直接读回到内存里。
- Redis 的数据都在内存中,保存备份时它执行的是全量快照,也就是说,把内存中的所有数据都记录到磁盘中,一锅端。
- RDB 保存的是 dump.rdb 文件。
案例演示
-
RDB 保存到磁盘的文件叫 dump.rdb
-
Redis 6.0.16 及以下:
- Redis 6.2 以及 Redis 7.0.0:
- 操作步骤:
- 自动触发:
- Redis7 版本,按照 redis.conf 里配置的
save <seconds> <changes>
- 本次案例5秒2次修改,
save 5 2
的意思是,如果在 5 秒内发生了 2 次写操作(如 SET 或 DEL),则会触发 RDB 保存。在 5 秒内发生至少 2 次修改,就会触发保存快照。如果在 5 秒内发生了 3 次修改,它满足了这个条件,因此快照会被保存。即使超过了 2 次修改,只要满足时间窗口和修改次数的条件(这里是 5 秒内 2 次修改),快照就会触发。
- 修改 dump.rdb 文件的保存路径
- 修改 dump.rdb 文件名称
- 触发备份
- 第一种情况,5 秒内保存 2 次
- 第二种情况,两次保存间隔超过5秒
-
Redis 启动或者 RDB 快照完成,开始计时,期间 Redis 会记录发生写操作的次数。超过了
<seconds>
后,Redis 会统计这段时间里达到修改次数,满足<changes>
次,会自动触发,每个时间间隔内只会触发一次 -
我看推测配置文件注释描述的应该是距离上次更新超过了
<seconds>
后,Redis 会统计这段时间里达到修改次数,如果满足<changes>
次数,会自动触发 -
如何恢复:
-
手动触发: