MST

星途 面试题库

面试题:Redis AOF重写的触发条件是什么

请阐述在Redis中,AOF重写通常会在哪些情况下被触发?
32.5万 热度难度
数据库Redis

知识考点

AI 面试

面试题答案

一键面试

在Redis中,AOF重写通常在以下两种情况下被触发:

  1. 手动触发:通过执行BGREWRITEAOF命令,手动触发AOF重写操作。该命令会让Redis在后台执行AOF重写,不会阻塞主线程。
  2. 自动触发
    • 基于AOF文件大小:当auto - aof - rewrite - min - sizeauto - aof - rewrite - percentage两个配置参数满足条件时会自动触发。auto - aof - rewrite - min - size定义了触发AOF重写的最小AOF文件大小,默认是64MB。auto - aof - rewrite - percentage表示当前AOF文件大小(aof_current_size)相比于上一次重写后的AOF文件大小(aof_base_size)的增长率。当aof_current_size大于auto - aof - rewrite - min - size,并且(aof_current_size - aof_base_size) / aof_base_size * 100%大于auto - aof - rewrite - percentage(默认100%)时,就会触发AOF重写。例如,假设上一次重写后AOF文件大小为100MB,auto - aof - rewrite - percentage为100%,auto - aof - rewrite - min - size为64MB,当AOF文件增长到200MB时就会触发重写。