有关Redis
中配置文件的解释,我们可以看文档:redis/redis.conf at unstable · redis/redis · GitHub
下面我将介绍几个有关AOF的相关配置:
1.基本配置项
1.appendonly no/yes #关闭/开启AOF功能
2.appendfilename "appendonly.aof" #AOF写入数据的文件名
3.appenddirname "appendonlydir" #AOF写入数据的路径名,一般不会这个选项进行配置,这样使得AOF文件在默认实例的路径下
4.appendfsync always/everysec/no #AOF刷盘策略(每次/每秒/由操作系统自行判断)
2.高级配置项:
no-appendfsync-on-rewrite no/yes
作用:进行AOF重写或写入RDB文件时(bgsave),会产生大量磁盘IO读写操作。这时如果appendfsync配置为always / everysec,执行fsync()就可能导致Redis主线程阻塞(always / everysec会进行刷盘操作,但是磁盘IO已经被大量使用,而fsync()是主线程执行的,所以主线程会被阻塞)。
yes
:进行BGSAVE / BGREWRITEAOF时,新数据执行AOF操作时不会进行fsync(),数据暂存于内存中,等待BGSAVE或BGREWRITEAOF结束后进行刷盘;no
:进行BGSAVE / BGREWRITEAOF时,新数据执行AOF操作时也会进行fsync(),默认为no;auto-aof-rewrite-percentage 100 # 触发重写百分比 (如果设置为0,将禁用AOF自动重写功能)
auto-aof-rewrite-min-size 64mb # 触发自动重写的最低文件体积(小于64MB不自动重写)
作用:触发AOF重写的条件,达到条件时Redis会自动隐式调用 BGREWRITEAOF
命令进行重写;
过程:Redis会使用上一次AOF重写完成后的文件大小作为基准,如果启动后没有发生过重写,则使用启动时的AOF文件大小作为基准,如果当前AOF文件大小与基准文件大小的增长比例大于auto-aof-rewrite-percentage时,则触发AOF自动重写功能;
aof-load-truncated yes/no
作用:当Redis启动时,发现AOF文件出现末尾截断,这时是继续加载文件还是报错退出
yes
:末尾被截断的 AOF 文件将会被加载,并打印日志通知用户;no
:服务器将报错并拒绝启动;(可以通过使用redis-check-aof
工具修复AOF文件,然后再重新启动)aof-use-rdb-preamble yes/no #redis4 新增功能,默认是no
作用:开启混合持久化;(具体功能可以搜索相关文章学习)
aof-timestamp-enabled no/yes
作用:Redis支持在AOF中记录时间戳注释,以支持从一个特定的时间点恢复数据。然而,使用这种能力会改变AOF的格式,可能与现有的AOF解析器不兼容。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。