【Redis持久化】 RDB持久化实验
1.1 学习内容
- 如何配置RDB持久化
- RDB持久化原理
- 基于RDB持久化实验
1.2 如何配置RDB持久化
采用之前部署的6379端口的Redis
# 进入redis配置文件目录
cd /etc/redis/
# 编辑配置文件
vim 6379.conf
# 配置rdb持久化,大概220行
#每隔5秒,检查一次,如果有一条数据变更,就生成一个dump快照文件,保存此刻redis内存中完整的数据快照文件,snapshotting
save 5 1
拓展:
-
save可以设置多个,就是多个snapshotting检查点,每到一个检查点,就会去check一些,是否有指定key数量发生了变更,如果有,就生成一个新的dump.rdb文件
-
可以手动调用save或者bgsave命令,同步或者是异步执行rdb快照文件。
1.3 RDB持久化工作原理
- redis根据配置尝试生成rdb快照文件(dump.rdb)
- fork一个子进程出来
- 子进程尝试将数据dump到临时的rdb快照文件中
- 完成rdb快照文件的生成后,就会替换之前的快照文件
1.4 rdb持久化实验
- redis设置几条数据,采用redis-cli SHUTDOWN(正常关闭Redis进程),然后重新启动Redis,看之前数据还在不在。
拓展:
a. redis-cli SHUTDOWN命令方式停止redis,会在redis退出的时候将内存中的数据立即生成一份完整的rdb快照文件到备份目录中。
b. 查询redis备份目录:vim /etc/redis/6379.conf,搜索"dir",大概在265行,dump.rdb快照文件就存放在该目录下。
-
redis保存几条新的数据,采用kill的方式关闭Redis进程,模拟redis故障一次退出,再重启redis,查看数据是否还存在。
-
手动设置一个save检查点,save 5 2,测试变更一条和多条数据,5s之后查看dump.rdb文件内容是否发生变更。kill掉redis进程,再重启redis,查看数据是否存在。
参考石衫老师 《亿级流量电商详情页系统》课程笔记
亲,如果觉得还不错,点个赞呗!!!