我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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同步方式,有三个值,分别如下:

  • always:每写入一个命令时就同步,数据的安全性最高,但性能差

  • everysec:每秒同步,默认的方式,性能高,安全性也还行

  • no:同步操作交给操作系统,数据的安全性最差。

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

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

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

AOF重写

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

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

  • 过期的键及已删除的键将不会再记录

  • 许多单个操作可以有一个操作来完成,比如lpush a、lpush b,重写后就是lpush a b.

下面看看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方式的详细内容,更多请关注亿速云其它相关文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

redis两种持久化方式RDB和AOF

目录前言1. Redis 数据库结构2. RDB 持久化2.1. RDB 的创建和载入2.1.1. 手动触发保存SAVE 命令BGSAVE 命令SAVE 和 BGSAVE 的比较2.1.2. 自动触发保存2.1.3. 启动自动载入2.2. RDB 的文件结构2
redis两种持久化方式RDB和AOF
2021-05-11

Redis RDB与AOF持久化方式详细讲解

目录1.RDB持久化1.1 RDB文件的保存1.2 RDB文件的载入1.3 RDB持久化时服务器的状态1.4 RDB持久化策略2.AOF持久化2.1 持久化的实现2.2 文件的载入与数据还原2.3 AOF文件的重写1.RDB持久化&ems
2022-11-22

搞懂 Redis 持久化,RDB模式AOF模式工作原理详解及操作

redis 持久化Redis 虽然是一个内存级别的缓存程序,也就是redis 是使用内存进行数据的缓存的,但是其可以将内存的数据按照一定的策略保存到硬盘上,从而实现数据持久保存的目的目前redis支持两种不同方式的数据持久化保存机制,分别是RDB和AOFRDB

	搞懂 Redis 持久化,RDB模式AOF模式工作原理详解及操作
2019-05-16

Redis的持久化方式

目录一、概述二、Redis持久化–RDB1、RDB的保存文件和保存路径2、RDB的保存策略3、RDB持久相关配置(在redis.conf配置文件中)4、RDB的备份与恢复5、RDB的优缺点三、Redis持久化–AOF
Redis的持久化方式
2024-10-24

redis的两种持久化方式是什么

Redis有两种持久化方式,分别是RDB持久化和AOF持久化。RDB持久化:RDB持久化是将Redis在内存中的数据以快照的形式保存到磁盘上。通过设定定期执行快照保存的策略,可以定时将数据保存到一个压缩的二进制文件中。RDB持久化的优点是可
redis的两种持久化方式是什么
2024-04-22

redis数据的两种持久化方式对比

一.概念介绍 redis提供了两种持久化的方式,分别是RDB(Redis DataBase)和AOF(Apend Only File)。 RDB方式 RDB方式是一种快照式的持久化方法,将某一时刻的数据持久化到磁盘中。 redis在进行数据
2022-06-04

编程热搜

目录