面试题答案
一键面试在Redis中,AOF重写通常在以下两种情况下被触发:
- 手动触发:通过执行
BGREWRITEAOF
命令,手动触发AOF重写操作。该命令会让Redis在后台执行AOF重写,不会阻塞主线程。 - 自动触发:
- 基于AOF文件大小:当
auto - aof - rewrite - min - size
和auto - 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时就会触发重写。
- 基于AOF文件大小:当