redis的aof的重写机制

redis有两中数据持久化的方法,RDB和AOF。其中的AOF技术是相对RDB几乎实时去实现数据指令的一个持久化,将每一个数据操作指令以日志追加形式写入aof文件里面,但是如果一直追加有可能导致aof文件过大,造成IO性能的问题,为解决这个aof文件过大问题,redis设计出AOF重写机制。

AOF重写机制 

通过压缩AOF文件里面的相同指令保留最新的一个数据操作指令,即将存储了某个key的多次变更记录只是存储最新的变更记录即可,丢弃历史变更记录 。

redis的aof的重写机制_第1张图片 重写机制详细步骤

  1. 旧AOF文件过大触发重写机制
  2. 创建子进程构建一个新的aof文件
  3. 子进程读取当前redis里面的数据,写入到新的aof文件里面
  4. 读取redis数据期间,主进程如果有其他新的操作指令则写入重写缓存中
  5. 重写完成以后,将重写缓存追加到新的aof文件中
  6. 用新的aof文件覆盖现有的aof文件 

 redis的aof的重写机制_第2张图片

你可能感兴趣的:(redis面试题,redis,java,数据库)