AOF 默认不开启,需要修改配置文件:
避免额外的检查开销
如果先将写操作命令记录到 AOF 日志里,再执行该命令的话,如果当前的命令语法有问题,那么如果不进行命令语法检查,该错误的命令记录到 AOF 日志里后,Redis 在使用日志恢复数据时,就可能会出错。
而如果先执行写操作命令再记录日志的话,只有在该命令执行成功后,才将命令记录到 AOF 日志里,这样就不用额外的检查开销,保证记录在 AOF 日志里的命令都是可执行并且正确的。
不会阻塞当前写操作命令的执行
因为当写操作命令执行成功后,才会将命令记录到 AOF 日志。
Redis 写入 AOF 日志的过程,如下图:
我先来具体说说:
server.aof_buf
缓冲区;Redis 提供了 3 种写回硬盘的策略,控制的就是上面说的第三步的过程。
在 redis.conf
配置文件中的 appendfsync
配置项可以有以下 3 种参数可填: