Redis持久化---AOF

RDB : 记录 redis系统中的键值对来实现持久化; AOF : 记录redis系统执行的写命令实现持久化

命令追加

  1. redis接收客户端命令,若为写命令,则同步到aof缓冲区
  2. 时间函数循环
  3. 根据客户自己的配置,将aof缓冲区中的内容同步到aof文件中

aof配置选项的内容如下:

  • always : aof 缓冲区中的所有内容都同步到文件中
  • everysec : aof缓冲区中的内容写入到文件中;上次同步时间超过1秒钟,则进行同步
  • no :  aof缓冲区中的内容写入到文件中,何时同步取决于操作系统

AOF文件重写

由于aof记录的是客户端发送的写命令,对同一个键记录多次命令后,发现可能只是需要记录一个命令便可。

重写的过程如下:

  1. 创建aof文件重写的子进程,这样便不会堵塞服务器
  2. 创建aof重写缓冲区,客户端发送的写命令会同时缓存到aof缓冲区、aof重写缓冲区
  3. 子进程完成文件重写后,告知父进程
  4. aof重写缓冲区中的内容同步到新的aof文件
  5. aof新文件完成对原有文件的覆盖

 

posted @ 2020-04-26 22:56  一家人  阅读(121)  评论(0编辑  收藏  举报