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 即可