首页/数据/Redis 进阶速查/no-appendfsync-on-rewrite 权衡
本包目录(421 条)
数据结构与选型42 条
持久化56 条
主从与哨兵51 条Cluster 集群44 条内存与管理99 条性能与排障129 条

no-appendfsync-on-rewrite 权衡

重写期间如果仍执行 fsync,磁盘压力大时主线程可能被拖慢;no-appendfsync-on-rewrite yes 在重写期间暂停 fsync 换取延迟,代价是这段窗口内丢失风险上升。

Redis 进阶速查数据更新于 2026-10-12
取值yes:重写期间不 fsync;no:照常 fsync
收益降低重写期写入延迟抖动
代价重写期间丢失窗口变大

示例

示例
redis-cli CONFIG GET no-appendfsync-on-rewrite
redis-cli CONFIG SET no-appendfsync-on-rewrite no
磁盘性能富余、延迟敏感度低的实例保持 no 更安全;反之可设为 yes 并接受短暂风险窗口。

易错点

  • 该选项与磁盘写放大共同作用:磁盘饱和时即使设为 no,fsync 也可能阻塞主线程
  • 修改前先确认重写频率:很少重写的实例开这个选项收益有限

数据来源与参考

  • Redis 官方文档:redis.conf no-appendfsync-on-rewrite 注释
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌