三档对比
| 取值 | 刷盘时机 | 丢失窗口 | 性能 |
|---|---|---|---|
| always | 每条写命令后 | 接近零(取决于磁盘确认) | 吞吐明显下降 |
| everysec | 每秒一次(后台线程) | 约 1 秒 | 通用默认 |
| no | 由 OS 决定 | 通常数十秒内 | 最快 |
示例
示例
redis-cli CONFIG SET appendfsync everysec
redis-cli CONFIG GET appendfsynceverysec 由后台线程执行 fsync,避免主线程被磁盘延迟拖住,这是它成为默认值的原因。
appendfsync 控制刷盘时机:always 每条命令后 fsync(最稳最慢)、everysec 每秒一次(默认,折中)、no 交给操作系统(最快但丢失窗口不可控)。
| 取值 | 刷盘时机 | 丢失窗口 | 性能 |
|---|---|---|---|
| always | 每条写命令后 | 接近零(取决于磁盘确认) | 吞吐明显下降 |
| everysec | 每秒一次(后台线程) | 约 1 秒 | 通用默认 |
| no | 由 OS 决定 | 通常数十秒内 | 最快 |
redis-cli CONFIG SET appendfsync everysec
redis-cli CONFIG GET appendfsync