redis - 从 RDB 加载并继续写入 AOF
redis - load from RDB and keep writing the AOF
我在组合工作 mod - RDB + AOF。
我正在寻找一种从 RDB 文件重启后加载的方法 - 主要用于快速重启。
除此之外,我还想继续写AOF
一旦知道有灾难,我就手动从AOF加载。
这是我当前的配置:(我知道 appendonly yes
说 AOF 将在重启后加载,我正在寻找来自 RDB 的等待加载并继续写入 AOF。)
aof-use-rdb-preamble yes
aof-load-truncated yes
aof-rewrite-incremental-fsync yes
appendfilename "appendonly.aof"
appendfsync everysec
appendonly yes
谢谢
如果两者都启用,Redis 将始终加载 AOF,因为 AOF 为您提供更好的持久性。
通过使用 aof-use-rdb-preamble
yes
,您已经两全其美了。你的 AOF 会时不时地自动重写,先是一个 RDB 文件,然后是一个 AOF 尾部。参见 redis.conf
L1157。
由于您希望有一个可预测的平均恢复时间 (MTTR),因此您希望调整 AOF 自动重写的参数,如 redis.conf
LL113
中所述
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
您还可以使用 BGREWRITEAOF
command
手动触发 AOF 重写
即使 appendonly
配置为 no
,BGREWRITEAOF
也能正常工作。但是,请注意,每次调用 BGREWRITEAOF
时,您都会在 appendonly.aof 文件中获得几乎一个 rdb 文件。
然后,如果 appendonly
配置为 yes
,你也会得到一个 AOF 尾(命令附加到 appendonly.aof 文件)。
BGREWRITEAOF
和 BGSAVE
是昂贵的操作,并且会在 运行 期间降低服务器的性能。所以我建议你只使用 AOF,它已经自动或每次你 运行 BGREWRITEAOF
.
给你日志压缩
您可以将 auto-aof-rewrite-percentage
设置为较低的值,例如 2% 或 5%。然后您可以使用这两种策略测试 MTTR(重新启动所需的时间)。我相信您会发现差异太小以至于无法单独组合这两种策略(RDB 和 AOF)。 AOF 已经给你 RDB-inside if aof-use-rdb-preamble
yes
我在组合工作 mod - RDB + AOF。
我正在寻找一种从 RDB 文件重启后加载的方法 - 主要用于快速重启。
除此之外,我还想继续写AOF
一旦知道有灾难,我就手动从AOF加载。
这是我当前的配置:(我知道 appendonly yes
说 AOF 将在重启后加载,我正在寻找来自 RDB 的等待加载并继续写入 AOF。)
aof-use-rdb-preamble yes
aof-load-truncated yes
aof-rewrite-incremental-fsync yes
appendfilename "appendonly.aof"
appendfsync everysec
appendonly yes
谢谢
如果两者都启用,Redis 将始终加载 AOF,因为 AOF 为您提供更好的持久性。
通过使用 aof-use-rdb-preamble
yes
,您已经两全其美了。你的 AOF 会时不时地自动重写,先是一个 RDB 文件,然后是一个 AOF 尾部。参见 redis.conf
L1157。
由于您希望有一个可预测的平均恢复时间 (MTTR),因此您希望调整 AOF 自动重写的参数,如 redis.conf
LL113
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
您还可以使用 BGREWRITEAOF
command
appendonly
配置为 no
,BGREWRITEAOF
也能正常工作。但是,请注意,每次调用 BGREWRITEAOF
时,您都会在 appendonly.aof 文件中获得几乎一个 rdb 文件。
然后,如果 appendonly
配置为 yes
,你也会得到一个 AOF 尾(命令附加到 appendonly.aof 文件)。
BGREWRITEAOF
和 BGSAVE
是昂贵的操作,并且会在 运行 期间降低服务器的性能。所以我建议你只使用 AOF,它已经自动或每次你 运行 BGREWRITEAOF
.
您可以将 auto-aof-rewrite-percentage
设置为较低的值,例如 2% 或 5%。然后您可以使用这两种策略测试 MTTR(重新启动所需的时间)。我相信您会发现差异太小以至于无法单独组合这两种策略(RDB 和 AOF)。 AOF 已经给你 RDB-inside if aof-use-rdb-preamble
yes