Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ Redis AOF 持久化机制是在执行完命令之后再记录日志,这和关

在 Redis 的配置文件中存在三种不同的 AOF 持久化方式( `fsync`策略),它们分别是:

1. `appendfsync always`:主线程调用 `write` 执行写操作后,后台线程( `aof_fsync` 线程)立即会调用 `fsync` 函数同步 AOF 文件(刷盘)`fsync` 完成后线程返回,这样会严重降低 Redis 的性能(`write` + `fsync`)。
1. `appendfsync always`:主线程调用 `write` 执行写操作后,会立刻调用 `fsync` 函数同步 AOF 文件(刷盘)。主线程会阻塞,直到 `fsync` 将数据完全刷到磁盘后才会返回,这样会严重降低 Redis 的性能(`write` + `fsync`)。
2. `appendfsync everysec`:主线程调用 `write` 执行写操作后立即返回,由后台线程( `aof_fsync` 线程)每秒钟调用 `fsync` 函数(系统调用)同步一次 AOF 文件(`write`+`fsync`,`fsync`间隔为 1 秒)
3. `appendfsync no`:主线程调用 `write` 执行写操作后立即返回,让操作系统决定何时进行同步,Linux 下一般为 30 秒一次(`write`但不`fsync`,`fsync` 的时机由操作系统决定)。

Expand Down
2 changes: 1 addition & 1 deletion docs/database/redis/redis-questions-02.md
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ Redis 不同于 Memcached 的很重要一点就是,Redis 支持持久化,而
与 RDB 持久化相比,AOF 持久化的实时性更好。在 Redis 的配置文件中存在三种不同的 AOF 持久化方式(`fsync` 策略),它们分别是:

```bash
appendfsync always #每次有数据修改发生时,都会调用fsync函数同步AOF文件,fsync完成后线程返回,这样会严重降低Redis的速度
appendfsync always #每次有数据修改发生时,主线程都会立刻调用fsync函数同步AOF文件,并阻塞到刷盘完成后才返回,这样会严重降低Redis的速度
appendfsync everysec #每秒钟调用fsync函数同步一次AOF文件
appendfsync no #让操作系统决定何时进行同步,一般为30秒一次
```
Expand Down