文章摘要
这篇文章介绍了Redis中RDB(Redis Data Base)的持久化机制,重点分析了手动触发和自动触发的快照生成方式。内容包括:
1. **手动触发快照**:
- 使用`save`命令生成快照:在主程序中执行会阻塞服务器,直到快照生成,线上不可用。
- 使用`bgsave`命令:在后台生成快照,不影响客户端请求,可fork子进程复制快照。
- 使用`lastsave`命令:获取最后一次快照的时间。
2. **自动触发快照**:
- 根据`redis.conf`中配置的`save <seconds><changes>`参数自动触发快照。
- 自动触发快照的时间和次数可以手动修改。
- 支持修改`dump.rdb`文件的保存路径、名称,并通过`flushdb`或`flushall`命令清空Redis以恢复数据。
3. **物理恢复注意事项**:
- 必须在生产机和备份机完全隔离的情况下进行物理恢复。
- 备份文件`dump.rdb`中记录的内容是空的,无法恢复数据。
4. **配置方法**:
- 使用`redis-cli`命令设置不保存快照的规则:`redis-cli config set save ""`。
总结:文章详细介绍了Redis RDB快照的生成和管理方法,包括手动和自动两种方式的特点及注意事项,帮助开发者更好地理解和使用Redis持久化功能。
目录一、RDB(Redis Data Base)1.1、配置文件 1.2、操作步骤 1.3、数据丢失演示 1.4、检查dump.rdb文件是否损坏 1.5、禁用RDB快照
版本:redis6.2-redis7.0.10

1.2.1、自动触发
1、redis7版本,按照redis.conf里配置的sava<seconds><changes>
①、第一步修改保存时间和次数

②、修改dump文件保存路径

③、修改dump文件名称


④、触发备份

⑥、恢复备份
将备份文件(dump.rdb)移动到redis安装目录并启动服务即可。
将备份成功后使用flushdb清空redis,测试是否可以恢复数据。

结论:执行flushdb/flushall命令会产生dump.rdb文件,但里面是空的,没有意义。

物理恢复,一定服务和备份分机隔离,防止生产机物理损坏后备份文件也挂掉!!!
1.2.2、手动触发
redis提供了两个命令来生成RDB文件,分别是save和bgsave
1、save:在主程序中执行会阻塞当前redis服务器,直到持久化工作完成,执行save命令期间,redis不能处理其他命令,线上禁止使用。

2、bgsave:redis会在后台异步进行快照操作,不阻塞快照同时还可以响应客户端请求,该触发方式会fork一个子进程由子进程复制持久化过程。

3、lastsave:获取最后一次成功执行快照的时间



1、动态所有停止RDB保存规则的方法:redis-cli config set save “”
2、配置文件

到此这篇关于redis中RDB(Redis Data Base)的机制的文章就介绍到这了,更多相关redis RDB内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
您可能感兴趣的文章:Redis中AOF与RDB持久化策略深入分析Redis RDB技术底层原理详解浅谈Redis中的RDB快照Redis 通过 RDB 方式进行数据备份与还原的方法Redis持久化RDB和AOF区别详解Redis打开rdb文件常用方法详解redis学习之RDB、AOF与复制时对过期键的处理教程Redis两种持久化方案RDB和AOF详解了解redis中RDB结构_动力节点Java学院整理
© 版权声明
文章版权归作者所有,未经允许请勿转载。