028-86922220

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

Redis中AOF持久化方式的工作流程

redis的RDB方式不能做到妙计持久化,但是AOF方式可以做到。如果数据比较重要,丢失会造成严重的后果,那么RDB方式明显不合适,要用到AOF的方式。aof方式和MySQL的binlog日志有些像,都只记录新增、修改、删除的操作。不同的是,redis会每隔一段时间后,会对aof文件进行重写,降低aof文件的大小。

站在用户的角度思考问题,与客户深入沟通,找到苏家屯网站设计与苏家屯网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站设计、成都网站建设、企业官网、英文网站、手机端网站、网站推广、申请域名、虚拟空间、企业邮箱。业务覆盖苏家屯地区。

AOF工作流程

这里,为什么命令要先写入aof_buf,因为如果直接写入aof文件,那么性能就完全取决去硬盘的io性能。写入aof_buf是为了提高写入的性能。

配置

appendonly:是否开启aof持久化方式,默认是no。如想开启则改为yes。

dir:aof文件存放目录

appendfilename:aof文件名

appendfsync:aof同步方式,有三个值,分别如下:

auto-aof-rewrite-percentage 、auto-aof-rewrite-min-size 这两个配置是和aof重写机制相关的,只有同时满足这两个条件才会触发重写机制。

auto-aof-rewrite-min-size是表示重写时,文件大小必须必这个值要大,默认值是64mb

auto-aof-rewrite-percentage表示目前文件大小比上次重写后的文件大小大这么多才行。

AOF重写

redis的aof重写机制有手动触发和自动触发两种方式。手动触发即输入bgrewriteof命令。自动触发即满足上述所有的两个条件。

为什么重写能缩小文件体积,有几种情况:

下面看看aof重写流程

Redis中AOF持久化方式的工作流程

  1. 执行bgrewriteof命令

  2. 主进程fork出一个子进程

  3. 原有的aof机制继续运行,同时,也将新的命令写入到aof_rewrite_buf中

  4. 子进程生成新的aof文件

  5. 通知父进程,新的aof文件已经生成成功;将aof_rewrite_buf中的命令追加到新的aof文件中;用新的aof文件替换旧的aof文件。

  6. 完成以上步骤后,aof重写就完成了。

注意,如果一个服务器上面有多个redis服务,那么最好将他们重写的时间分隔开,防止io及cpu竞争过大。

以上就是Redis持久化之AOF方式的详细内容,更多请关注创新互联其它相关文章!


新闻名称:Redis中AOF持久化方式的工作流程
链接URL:http://www.tsicrk.com/article/pgceop.html

其他资讯

让你的专属顾问为你服务

2.5250s