一般来说 redis默认是 开启 rdb 持久化的, 一般也会 开启 aof 备份,英文 aof 丢失数据少,而且 默认也是用 aof 恢复数据的.
但是 有时候有些场景 , redis中的数据 被 破坏了 .需要从 rdb中恢复,这个时候 可能 aof 中的数据 很少, 如果直接恢复的话 , 默认会先 使用 aof 恢复数据,达不到效果 而 如果删除 aof 文件 ,继续 恢复 还是一个坑, 默认会生成一个 空的 aof 文件 ,用 空的 aof 文件恢复数据, 那是不是无法用 rdb的备份数据 恢复了 呢?
办法是有的:
第一步: 先把配置文件中的 aof 持久化 关闭, 然后用 rdb 恢复数据
第二步: 在redis-cli 中 用 config set 把 aof 持久化打开 ,让其生成 aof 文件
第三步: 生成 aof 文件之后, 关闭 redis-server ,修改配置,重新启动 就能恢复数据了