商品详情页系统 -- day03 RDB和AOF配置及使用

一、配置RDB持久化机制

修改 /etc/redis/6379.conf 配置文件,配置redis的RDB持久化机制:

其中:

        save 60 1000 表示:每隔60s,如果超过1000个key的值发生变化,那么就会生成一个新的dump.rdb文件,就是当前redis内存中完整的数据快照,这个操作也被称为snapshotting(快照),也可以手动调用save或者bgsave命令,同步或者异步执行rdb快照生成。

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

二、RDB持久化机制的工作流程

1. redis根据配置自己尝试去生成rdb快照文件

2. fork一个子进程出来

扫描二维码关注公众号,回复: 2544642 查看本文章

3. 子进程尝试将数据dump到临时的rdb快照文件中

4. 完成rdb快照文件的生成之后,就会替换之前的旧的快照文件

三、基础RDB持久化机制的数据恢复实验

1、启动redis服务以及客户端,存储数据

2、使用正常退出模式关闭redis服务

注意:使用redis-cli SHUTDOWN命令退出redis服务的时候,是一种安全退出模式,默认会在退出的时候,将redis中的数据立即持久化到rdb文件中(/var/redis/6379/dump.rdb),因此使用SHUTDOWN结束redis进程的时候,数据不会丢失。因此,我们在模拟系统故障异常退出造成的数据丢失时,需要使用kill命令强制杀死redis进程,并且删除pid进程文件的方式去实现。

3、在Redis中保存新数据,查看redis进程,使用kill命令结束redis进程

        存储新数据,退出客户端,使用 ps -ef | grep redis 命令查看redis进程并使用kill -9 端口号强制结束redis进程,之后删除对应的pid文件,再次启动redis客户服务以及进入客户端,查看数据,发现新添加的数据并没有被持久化到dump.rdb文件中。

4、停止redis服务,手动配置自定义的RDB持久化机制的check点

5、启动redis服务,添加新的数据,强制退出redis进行测试

注意:将RDB持久化机制check点添加每5秒有一条数据修改之后,发现数据已经被保存,演示成功。演示之后将该实验检查点删除即可。

四、

猜你喜欢

转载自blog.csdn.net/wingzhezhe/article/details/81390073