Redis中的AOF工作流程
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis中的AOF工作流程相关的知识,希望对你有一定的参考价值。
参考技术AAOF(append only file):以独立日志的方式记录每次写的命令,重启时再重新执行AOF文件中的命令达到恢复数据的目的。
AOF的主要作用是解决了数据持久化的实时性,目前已经是Redis持久化的主流方式。
以下是AOF工作流程图:
Redis中默认不开启AOF, appendonly yes ,是开启的配置。
文件的名字默认为appendonly.aof,可以通过参数 appendfilename 来设置。
目录也是通过 dir 来设置。
所有写入命令会追加到 aof_buf(缓冲区) 中。
AOF缓冲区,根据策略 向硬盘做同步 。由参数appendfsync控制,常规使用everysec选项:
随着AOF文件越来越大,需要定期对AOF文件进行重写,达到压缩的目的。把Redis进程内的数据转化为写命令同步到新AOF文件的过程。AOF重写过程分为手动触发和自动触发:
AOF重写流程如下:
当Redis服务器重启时,可以加载AOF文件进行数据恢复。
如上图,流程说明:
对于错误格式的AOF文件 :先进行备份,然后采用 redis-check-aof --fix 命令进行修复,修复后使用 diff -u 对比数据的差异,找出丢失的数据。
AOF文件结尾不完整的情况下 :可以使用 aof-load-truncated 配置来兼容这种情况。
以上是关于Redis中的AOF工作流程的主要内容,如果未能解决你的问题,请参考以下文章