linux redis .rtm下载,redis中的RDB持久化详解

本文详细介绍了Redis中RDB持久化配置,包括如何设置触发条件生成快照文件。在工作流程中,Redis会fork子进程来创建新的dump.rdb文件,并在完成后替换旧文件。在数据恢复实验中,正常关闭Redis会保存数据,而异常退出则可能导致数据丢失。通过调整配置,可以确保在指定条件下频繁保存快照,减少数据丢失风险。
摘要由CSDN通过智能技术生成

1. 如何在redis中配置RDB持久化文件

在redis持久化中  默认是开启RDB模式的。这里我们只需要对RDB进行配置即可

fbc3603b5f077f49ac998ccddc3269aa.png

在上面有三个配置选项 分别是

每隔900秒  有一条key进行变更

每个300秒 有10条key进行变更

没隔60秒  有10000条key进行变更。

以上任意条达成条件后,就会重新生成一个dump.rdb文件。就是当前redis内存中完整的快照,这个操作也被称之为snapshotting,快照也可以手动调用save或者bgsave命令,同步或异步执行rdb快照生成

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

2. RDB持久化是的工作流程

(1).redis会根据自己的配置去尝试rdb快照文件。

(2) fork出一个子进程

(3)子进程会将当前的dump文件快照到 rdb临时文件当中。

(4)完成rdb快照文件的生成之后,那么就会替换以前的老快照。

3、基于RDB持久化机制的数据恢复实验数据还在,为什么?

29b7c167e38115193d9a9faff2c96f7d.png

我们在redis中存入几条数据

4ce64755ea52f11b2b619bc42b7a837d.png

在使用redis-cli SHUTDOWN  停掉redis

0d4aa9c28c53581278e6a3f264699396.png

这个时候我们进入到存放快照的目录进行查看。

可以看到数据依旧是存在的。

带出来一个知识点,通过redis-cli SHUTDOWN这种方式去停掉redis,其实是一种安全退出的模式,redis在退出的时候会将内存中的数据立即生成一份完整的rdb快照

/var/redis/6379/dump.rdb

(2)在redis中再保存几条新的数据,用kill -9粗暴杀死redis进程,模拟redis故障异常退出,导致内存数据丢失的场景这次就发现,redis进程异常被杀掉,数据没有进dump文件,几条最新的数据就丢失了

cef49c8bb2bd4edffb7eeeff89f75785.png

使用 kill -9 的方式杀掉redis进程。

0a387ac4b22843f55f4c6a58450e7483.png

在进入到存放快照的文件目录查看快照文件  并没有进行生成。

(3) 我们这里在做一个实验,重新对conf文件进行配置,配置成每五秒进行一次快照,在进行一次实验

7ee2e4b55b97598c01cd19a73c9dce17.png

设置成 没五秒有1个key进行变更那么就会生成新的dump.db文件

b03f611d8b5035221747754537bef848.png

使用kill杀死进程过后  我们可以看到快照文件是生成了的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值