redis aof 文件 恢复数据

redis.conf 配置 appendonly yes , 默认是 appendonly no
通过 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 即可

发布了41 篇原创文章 · 获赞 25 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/Andy86869/article/details/88997781
今日推荐