Login
网站首页 > 文章中心 > 其它

Redis持久化-AOF重写_Redis的AOF和RDB两种持久化机制

作者:小编 更新时间:2023-08-06 11:00:14 浏览量:73人看过

1.概述

对重复冗余过期的明命令进行精简,创建新的AOF文件,覆盖旧的AOF文件

set hello world

set hello jack

set hello zhangsan

incr count

rpush mylist a

rpush mylist b

rpush mylist c

过期数据

rpush mylist a b c

2.AOF重写的作用

减少磁盘占用量

加速恢复速度

③AOF重写配置

④AOF重写统计

⑤AOF重写触发机制

⑥原理

执行 aof 重写请求

如果当前进程正在执行 aof 重写,请求不执行并返回如下响应

ERR Background append only file rewriting already in process

如果当前正在执行?bgsave?,重写命令等待?bgsave?完成后执行 ,返回如下响应

Background append only file rewriting shceduled

父进程执行 fork 创建子进程,开始等同于bgsave过程

父进程 fork 操作完毕之后,依然响应其他命令,所有修改命令依然写入 aof 缓冲区,并根据?appendfsync策略同步到硬盘,保证原有 aof 机制的有效性.

由于 fork 操作采用写时复制技术,子进程只能共享fork 操作时的内存数据,由于父进程依然响应命令,redis 使用?aof 重写缓冲区?保存这部分新数据,防止aof文件生成期间这部分数据的丢失.

子进程根据内存快照,按照命令合并规则写入到新的 aof 文件

新 aof 文件 写入完成之后,子进程通知 父进程,父进程更新统计信息

父进程把 aof 重写缓冲区的数据写入 新的 aof 文件

使用 新 aof 文件替换 旧的 aof 文件

以上就是土嘎嘎小编为大家整理的Redis持久化-AOF重写相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章