Redis 的 AOF(Append-Only File)日志是一种持久化机制,用于记录数据库的所有写操作,以便在 Redis 重启时能够重建数据集。配置 AOF 日志时,有几个重要的配置项,下面是每个配置项的详细说明:
-
appendonly
- 描述:启用或禁用 AOF 持久化机制。
- 默认值:
no
- 配置方式:
appendonly yes
-
appendfilename
- 描述:指定 AOF 文件的名称。默认情况下,AOF 文件名为
appendonly.aof
。 - 默认值:
appendonly.aof
- 配置方式:
appendfilename myaof.aof
- 描述:指定 AOF 文件的名称。默认情况下,AOF 文件名为
-
appendfsync
- 描述:配置 Redis 在写入 AOF 文件时如何处理同步操作。这是影响性能和数据安全的重要配置。
- 选项:
always
:每次写入操作都会触发同步,数据安全性最高,但性能较差。everysec
:每秒同步一次,这是一个较好的折衷方案,通常性能和数据安全性都能满足大部分需求。no
:不进行同步,完全依赖操作系统的缓存机制,性能最好但数据安全性最低。
- 默认值:
everysec
- 配置方式:
appendfsync everysec
-
no-appendfsync-on-rewrite
- 描述:在 AOF 文件重写期间是否禁用
appendfsync
,可以减少重写时的 I/O 开销。 - 默认值:
no
- 配置方式:
no-appendfsync-on-rewrite yes
- 描述:在 AOF 文件重写期间是否禁用
-
auto-aof-rewrite-percentage
- 描述:AOF 文件的大小增长百分比阈值,超过这个阈值时 Redis 将自动触发 AOF 文件的重写操作。
- 默认值:
100
- 配置方式:
auto-aof-rewrite-percentage 100
-
auto-aof-rewrite-min-size
- 描述:触发 AOF 文件重写的最小文件大小。小于这个值时,即使 AOF 文件增长了百分比阈值也不会触发重写。
- 默认值:
64mb
- 配置方式:
auto-aof-rewrite-min-size 64mb
-
aof-load-truncated
- 描述:在 Redis 启动时是否加载截断的 AOF 文件。如果 AOF 文件损坏,设置为
yes
可以尝试加载文件的可用部分。 - 默认值:
yes
- 配置方式:
aof-load-truncated no
- 描述:在 Redis 启动时是否加载截断的 AOF 文件。如果 AOF 文件损坏,设置为
-
aof-rewrite-incremental-fsync
- 描述:在 AOF 文件重写期间是否启用增量同步(默认是开启的)。如果设置为
yes
,则会在重写过程中增量同步 AOF 文件,减少重写过程中的数据丢失风险。 - 默认值:
yes
- 配置方式:
aof-rewrite-incremental-fsync yes
- 描述:在 AOF 文件重写期间是否启用增量同步(默认是开启的)。如果设置为
这些配置项可以通过编辑 Redis 配置文件 redis.conf
来设置,或者在 Redis 运行时使用 CONFIG SET
命令进行动态修改。调整这些参数可以根据具体的使用场景来平衡数据安全性和性能需求。