Redis的RDB持久化配置以及数据恢复


Redis的RDB持久化配置以及数据恢复

配置RDB持久化机制

在 redis 的配置文件中找到如下内容:

在这里插入图片描述

以 save 60 10000 为例,表示每隔 60s,如果有超过10000 个 key 发生了变更,那么就生成一个新的 dump.rdb 文件,就是当前 redis 内存中完整的数据快照,这个操作也被称之为 snapshotting。

另外,快照也可以手动调用 save 或者 bgsave 命令,同步或异步执行 rdb 快照生成。

save 可以设置多个,就是多个 snapshotting 检查点,每到一个检查点,就会去 check 是否有指定的 key 数量发生了变更,如果有,就生成一个新的 dump.rdb 文件。

RDB持久化机制的工作流程

  1. redis 根据配置自己尝试去生成 rdb 快照文件;
  2. fork 一个子进程出来;
  3. 子进程尝试将数据 dump 到临时的 rdb 快照文件中;
  4. 完成 rdb 快照文件的生成之后,就替换之前的旧的快照文件。

基于RDB持久化机制的数据恢复

场景一:在 redis 中保存几条数据,使用 redis-cli shutdown 命令 关闭 redis 进程,然后重启 redis。

在这里插入图片描述

由上图可知,由 redis-cli shutdown 关闭 redis 进程,数据不会丢失。这是因为通过 redis-cli shutdown 这种方式去 redis 进程,其实是一种安全退出的模式,redis 在退出的时候会将内存中的数据立即生成一份完整的 rdb 快照。

场景二:在 redis 中再保存几条新的数据,用 kill -9 粗暴杀死 redis 进程,模拟 redis 故障异常退出,导致内存数据丢失的场景

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

久违の欢喜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值