AOF损坏时的对策若在写AOF文件时Server崩溃则可能导致AOF文件损坏而不能被Redis载入。可通过如下步骤修复:创建一个AOF文件的备份;使用redis-check-aof工具修复原始的AOF文件;$ redis-check-aof --fix使用diff -u 检查备份文件和修复后文件的异同(可选步骤);使用修复后的AOF文件重启Redis。如何由RDB持久化转换到AOF持久化?Redis >=2.2时创建最近的RDB文件的备份;将备份保存在安全的位置;发起如下命令;redis 校验是否存在 redis-check-aof_redis 校验是否存在redis-cli config set save “”(可选,若不执行RDB和AOF方式将并存)确认数据库包含相同的keys;确认write操作被正确追加到了AOF文件。注意事项:记得修改redis.conf中对应的配置以免Redis Server重启后通过命令进行的配置更新丢失而重新使用旧的配置文件中的配置。Redis2.0时创建最近的RDB文件的备份;将备份存放在安全的位置;停止数据库上的所有写操作;发起 redis-cli bgrewriteaof命令创建AOF文件;当AOF文件生成后停止Redis Server;编辑redis.conf开启AOF持久化;重启Redis Server;确认数据库包含相同的keys;确认write操作被正确追加到了AOF文件。AOF与RDB之间的相互影响Redis2.4以上的版本会确保在RDB快照创建时不触发AOF重写或者在AOF重写时不允许BGSAVE操作,以避免Redis后台进程同时做繁重的磁盘I/O操作。当创建RDB快照时对于用户使用BGREWRITEAOF明确发起的日志重写操作server会立刻回应一个ok状态码告知用户操作将回被执行,当且仅当快照创建完成后重写操作开始被执行。在同时使用了AOF和RDB方式的情况下,Redis重启后会优先使用AOF文件来重构原始数据集。备份Redis 数据务必做好数据备份以防意外丢失。Redis是备份友好的,可在数据库运行时拷贝RDB文件。建议的备份方案:创建一个cron作业在一个目录中每小时创建一次RDB快照在另一目录中每天创建一次RDB快照;cron作业每次运行的时候使用find命令确保过时的RDB快照文件被清理掉(可以通过在快照命中包含数据和时间信息来进行标记);确保将RDB快照转移到外部的数据中心或者至少是运行Redis实例的物理机之外的机器(至少每天一次)。灾