Redis持久化之AOF

一 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文件重写操作。

posted on 2021-01-11 17:07  MaXianZhe  阅读(340)  评论(0编辑  收藏  举报

导航