iis服务器助手广告
返回顶部
首页 > 资讯 > 精选 >Redis持 RDB与AOF的执行过程是怎么样的
  • 224
分享到

Redis持 RDB与AOF的执行过程是怎么样的

2023-06-25 12:06:53 224人浏览 安东尼
摘要

今天就跟大家聊聊有关Redis持 RDB与AOF的执行过程是怎么样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。前言Redis 持久化支持两种方式 RDB 与 AOF,文章记录两者

今天就跟大家聊聊有关Redis持 RDB与AOF的执行过程是怎么样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

前言

Redis 持久化支持两种方式 RDB 与 AOF,文章记录两者的执行过程与配置。

一、RDB

RDB 持久化是把当前进程数据生成快照保存到硬盘的过程,触发 RDB 持久化过程分为手动触发和自动触发。

1. save 命令

会堵塞当前 Redis 服务器,直到 RDB 结束为止,对数据量较大或者内存较大的实例,会堵塞较长时间,生产环境不建议使用。如果手动执行 save 命令,Redis 会记录下方日志

127.0.0.1:6379> save
OK

* DB saved on disk

2. bgsave 命令

Redis 进程执行 fork 操作创建子进程,RDB 持久化过程由子进程负责,完成后自动结束。阻塞只发生在 fork 阶段,一般时间很短。如果手动执行 bgsave 命令,Redis 会记录下方日志。

* Background saving started by pid 90338
* DB saved on disk
* RDB: 0 MB of memory used by copy-on-write
* Background saving terminated with success

bgsave 对 save 堵塞进行优化,Redis 内部涉及 RDB 操作都是由 bgsave 完成。

3. 内部触发 RDB 场景

  • 使用 save 相关配置,如 save m n 表示 m 秒内数据集存在 n 次修改时,触发一次 RDB;

  • 从节点执行全量复制操作,主节点自动执行 bgsave 生成 RDB 文件发送给从节点;

  • 执行 debug relad 重新加载 Redis 时,也会触发生产 RDB;

  • 默认情况下,执行 shutdown 关闭 Redis 时,如果没有开启 AOF 持久化功能,则会触发 RDB。

4. RDB 参数配置

通过设置 dir 可以配置 RDB 保存位置 dbfilename 可以设置文件名。

config set dir /opt/redis-5.0.12/backup
config set dbfilename myback.rdb

Redis 默认采用 LZF 算法对生成的RDB文件做压缩处理,压缩后的文件远远小于内存大小,默认开启,可以通过 rdbcompression 参数配置。

config set rdbcompression{yes|no}

压缩 RDB 虽然会消耗 CPU 但是可以大幅度减少文件体积,方便存储或通过网络发送给从节点。

5. RDB 缺点

RDB 方式数据没办法做到实时持久化/秒级持久化。因为 bgsave 每次运行都要执行 fork 操作创建子进程,属于重量级操作,频繁执行成本过高。

RDB文件使用特定二进制格式保存,Redis 版本演进过程中有多个格式的 RDB 版本,存在老版本 Redis 服务无法兼容新版 RDB 格式的问题。

二、AOF

AOF(appendonlyfile)持久化:以独立日志的方式记录每次写命令,重启时再重新执行 AOF 文件中的命令达到恢复数据的目的。AOF 的主要作用是解决了数据持久化的实时性,目前已经是 Redis 持久化的主流方式。

1. 参数配置

# 配置开启 AOFconfig set appendonly yes# 配置文件名,默认 appendonly.aofconfig set appendfilename xxx.aof# 存储位置配置,与 RDB 一样config set dir /opt/redis-5.0.12/backup

2. AOF 执行流程

Redis持 RDB与AOF的执行过程是怎么样的

所有的命令都会追加到 aof_buf(缓冲区)中;AOF 缓冲区根据对应的策略向磁盘同步操作;随着 AOF 文件越来越大,需要定期对 AOF 重写,达到压缩目的;当 Redis 服务器重启时,可以加载AOF文件进行数据恢复。 3. 重写机制

手动触发:

bgrewriteaof

自动触发,根据下方两个参数设置自动触发机制:

auto-aof-rewrite-min-size
auto-aof-rewrite-percentage

看完上述内容,你们对Redis持 RDB与AOF的执行过程是怎么样的有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程网精选频道,感谢大家的支持。

--结束END--

本文标题: Redis持 RDB与AOF的执行过程是怎么样的

本文链接: https://www.lsjlt.com/news/304768.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • Redis持 RDB与AOF的执行过程是怎么样的
    今天就跟大家聊聊有关Redis持 RDB与AOF的执行过程是怎么样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。前言Redis 持久化支持两种方式 RDB 与 AOF,文章记录两者...
    99+
    2023-06-25
  • Redis 持久化 RDB 与 AOF的执行过程
    目录前言一、RDB1. save 命令2. bgsave 命令3. 内部触发 RDB 场景4. RDB 参数配置5. RDB 缺点二、AOF1. 参数配置2. AOF 执行流程3. ...
    99+
    2024-04-02
  • Redis的持久化机制采用RDB还是AOF
    这篇文章主要讲解了“Redis的持久化机制采用RDB还是AOF”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Redis的持久化机制采用RDB还是AOF”吧!...
    99+
    2024-04-02
  • 如何进行Redis持久化RDB和AOF的分析
    如何进行Redis持久化RDB和AOF的分析,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Redis持久化方案Redis是内存数据库,数据都是...
    99+
    2024-04-02
  • Redis中RDB和AOF的区别是什么
    Redis中的RDB(Redis DataBase)和AOF(Append Only File)是两种持久化方式,用于将数据持久化到...
    99+
    2024-05-07
    Redis
  • redis中RDB和AOF持久化的优缺点是什么
    小编给大家分享一下redis中RDB和AOF持久化的优缺点是什么,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!Redis 提供了 RDB 和 AOF 两种持久化方案:RDB:生成指定时间间...
    99+
    2024-04-02
  • Redis的RDB和AOF方法怎么用
    今天小编给大家分享一下Redis的RDB和AOF方法怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Redis持久化方案...
    99+
    2023-06-27
  • 图解Redis,谈谈Redis的持久化,RDB快照与AOF日志
    目录 专栏导读 一、RDB持久化 1、自动触发 2、手动触发 3、设置保存条件 4、加解密 5、R...
    99+
    2023-09-21
    redis 数据库 分布式
  • redis之RDB、AOF与复制时对过期键怎么处理
    这篇文章将为大家详细讲解有关redis之RDB、AOF与复制时对过期键怎么处理,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。生成RDB文件在执行SAVE命令或者BGSAV...
    99+
    2024-04-02
  • Oracle ASM Rebalance执行过程是怎样的
    这篇文章主要讲解了“Oracle ASM Rebalance执行过程是怎样的”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Oracle ASM Rebala...
    99+
    2024-04-02
  • MGR中事务的执行过程是怎样的
    本篇文章为大家展示了MGR中事务的执行过程是怎样的,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。MGR中group_replication插件最重要的功能就是事务分...
    99+
    2024-04-02
  • GO怎么实现Redis的AOF持久化
    这篇文章主要介绍“GO怎么实现Redis的AOF持久化”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“GO怎么实现Redis的AOF持久化”文章能帮助大家解决问题。GO实现Redis的AOF持久化将用...
    99+
    2023-07-05
  • MySQL中update语句的执行过程是怎么样的
    这篇文章主要为大家展示了“MySQL中update语句的执行过程是怎么样的”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“MySQL中update语句的执行过程是...
    99+
    2024-04-02
  • 执行truncate触发ORA-02266解决过程是怎样的
    这篇文章给大家介绍执行truncate触发ORA-02266解决过程是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。开发提了个需求,要求将测试数据库的数据清空,其中涉及主子表的关...
    99+
    2024-04-02
  • Java对象方法调用执行过程是怎样的
    这篇文章主要介绍“Java对象方法调用执行过程是怎样的”,在日常操作中,相信很多人在Java对象方法调用执行过程是怎样的问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java对象方法调用执行过程是怎样的”的疑...
    99+
    2023-06-29
  • Redis 通过 RDB 方式进行数据备份与还原的方法
    目录IntroRedis 持久化RDB的优点RDB的缺点AOF 优点AOF 缺点备份还原Intro 有的时候我们需要对 Redis 的数据进行迁移,今天介绍一下通过 RDB(快照)文...
    99+
    2024-04-02
  • struts2的执行过程是什么
    Struts2的执行过程可以分为以下几个步骤:1. 客户端发送请求:客户端通过浏览器向服务器发送HTTP请求。2. 请求被Strut...
    99+
    2023-08-18
    struts2
  • SpringSecurity+Redis认证过程是怎样的
    本篇内容主要讲解“SpringSecurity+Redis认证过程是怎样的”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SpringSecurity+Redis认证过程是怎样的”吧!前言引入当今...
    99+
    2023-06-22
  • MySQL中SQL执行流程是怎么样的
    这篇文章主要介绍MySQL中SQL执行流程是怎么样的,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!MYSQL体系结构先看一张架构图,如下:模块详解Connector:用来支持各种语言...
    99+
    2024-04-02
  • java的运行过程是怎样的
    这篇文章给大家介绍java的运行过程是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。java的运行流程一,我们所看不到的:1,如果java文件没有package,就默认给文件加上"无名"pac...
    99+
    2023-06-03
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作