redis AOF 文件 恢复数据

redis.conf 中,将配置 appendonly no,改为appendonly yes,将其打开、

通过 redis-server redis.conf 的方式启动 redis

查看redis 的安装目录是否生成 appendonly.aof 文件,如果没有生成,那就执行如下命令
redis-cli config set appendonly yes

再次查看 目录是否生成了 AOF 文件

通过 AOF 恢复数据需要注意的地方是 AOF 重写的问题,如果 AOF 文件发生重写,redis 会遍历生成的 AOF 文件,并将新的 AOF 文件覆盖之前 AOF 文件,那么这样意味着之前的数据就丢了,那么就需要调大 AOF 重写的两个参数

  • auto-aof-rewrite-percentage
  • auto-aof-rewrite-min-size

也不要手动执行 bgrewriteaof

# 当 AOF log增长超过指定比例时,重写 log file,默认是100,这里调大一些 调为1000
auto-aof-rewrite-percentage 1000 

# 触发aof rewrite的最小文件尺寸 , 默认是  64mb
auto-aof-rewrite-min-size 512mb 

当不小心执行了 flushall清除了所有的数据后,打开 appendonly.aof 的文件
删除末尾的

*1
$8
flushall

去掉 AOF 里 flush 的操作之后,最好利用 redis-check-aof这个工具来检测一下你修改过后的 AOF 文件是否正常,以防启动恢复数据的时候出错

redis-check-aof appendonly.aof
AOF analyzed: size=100, ok_up_to=100, diff=0
AOF is valid

AOF is valid aof 文件是有效的,那么可以重启 redis 恢复数据了
通过 配置文件的方式重启 redis 即可

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐