前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Redis中AOF相关的配置项

Redis中AOF相关的配置项

原创
作者头像
似水流年o
修改2022-02-18 18:06:31
1.5K0
修改2022-02-18 18:06:31
举报
文章被收录于专栏:编程学习收获编程学习收获

有关Redis配置文件的解释,我们可以看文档redis/redis.conf at unstable · redis/redis · GitHub

下面我将介绍几个有关AOF相关配置

1.基本配置项

代码语言:javascript
复制
1.appendonly no/yes  #关闭/开启AOF功能
2.appendfilename "appendonly.aof" #AOF写入数据的文件名
3.appenddirname  "appendonlydir"  #AOF写入数据的路径名,一般不会这个选项进行配置,这样使得AOF文件在默认实例的路径下
4.appendfsync always/everysec/no  #AOF刷盘策略(每次/每秒/由操作系统自行判断)

2.高级配置项:

代码语言:javascript
复制
no-appendfsync-on-rewrite no/yes

作用:进行AOF重写写入RDB文件时(bgsave),会产生大量磁盘IO读写操作。这时如果appendfsync配置为always / everysec,执行fsync()就可能导致Redis主线程阻塞(always / everysec会进行刷盘操作,但是磁盘IO已经被大量使用,而fsync()是主线程执行的,所以主线程会被阻塞)。

  1. yes:进行BGSAVE / BGREWRITEAOF时,新数据执行AOF操作时不会进行fsync(),数据暂存于内存中,等待BGSAVE或BGREWRITEAOF结束后进行刷盘;
  2. no:进行BGSAVE / BGREWRITEAOF时,新数据执行AOF操作时也会进行fsync(),默认为no;
  • 如果应用对延时要求比较高,建议设置为yes,降低阻塞时间;(Linux的默认fsync策略是30秒,这种情况可能丢失30秒数据)
  • 如果应用对安全要求比较高,建议设置为no, 防止数据丢失;

代码语言:javascript
复制
auto-aof-rewrite-percentage 100 # 触发重写百分比 (如果设置为0,将禁用AOF自动重写功能)
auto-aof-rewrite-min-size 64mb  # 触发自动重写的最低文件体积(小于64MB不自动重写)

作用:触发AOF重写的条件,达到条件时Redis会自动隐式调用 BGREWRITEAOF命令进行重写;

  1. auto-aof-rewrite-percentage = 0,关闭AOF自动重写功能;
  2. auto-aof-rewrite-min-size = 64 mb ,如果AOF文件小于64mb,即使满足auto-aof-rewrite-percentage增长比例,也不会触发AOF自动重写

过程Redis会使用上一次AOF重写完成后的文件大小作为基准,如果启动后没有发生过重写,则使用启动时AOF文件大小作为基准,如果当前AOF文件大小与基准文件大小的增长比例大于auto-aof-rewrite-percentage时,则触发AOF自动重写功能

代码语言:javascript
复制
aof-load-truncated yes/no

作用:当Redis启动时,发现AOF文件出现末尾截断,这时是继续加载文件还是报错退出

  1. yes :末尾被截断的 AOF 文件将会被加载,并打印日志通知用户;
  2. no :服务器将报错并拒绝启动;(可以通过使用redis-check-aof 工具修复AOF文件,然后再重新启动)

代码语言:javascript
复制
aof-use-rdb-preamble  yes/no   #redis4 新增功能,默认是no

作用:开启混合持久化;(具体功能可以搜索相关文章学习)

代码语言:javascript
复制
aof-timestamp-enabled no/yes

作用:Redis支持在AOF中记录时间戳注释,以支持从一个特定的时间点恢复数据。然而,使用这种能力会改变AOF的格式,可能与现有的AOF解析器不兼容。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档