一 AOF文件内容
AOF文件中内容是具体的命令,而且由于redis的请求协议是纯文本格式,所以AOF文件中是人可读的命令请求
SELECT $1 0 *3 $4 sadd $8 gamedisk $4 nioh *3 $4 sadd $8 gamedisk $4 tomb
二 AOF实现原理
服务器在执行完一个写命令之后,会以协议格式将被执行的写命令追加到服务器状态的aof_buf缓冲区的末尾
默认值是everysec
三 AOF的重写
AOF重写的原理很好理解,
重写的伪代码如下
四 AOF后台重写
在执行BGREWRITEAOF命令时,Redis服务器会维护一个AOF重写缓冲区,该缓冲区会在子进程创建新AOF文件期间,记录服务器执行的所有写命令。
当子进程完成创建新AOF文件的工作后,服务器就会重写缓冲区中的所有内容追加到新的AOF文件的末尾,使得新旧两个AOF文件所保存的数据库状态一致。最后,服务器用新的AOF文件替换旧的AOF文件,以此来完成AOF文件重写操作。