https://wenfh2020.com/2020/04/01/redis-persistence-diff/
 

aof 和 rdb 是 redis 持久化的两种方式。我们看看它们的特点和具体应用场景区别。


1. 持久化特点

1.1. aof

  • aof 是写命令追加到持久化文件的方式。
  • aof 支持几种持久化策略,其中每秒数据增量存盘一次效率比较高。
  • aof 支持 rdb 混合型存储(需要重写处理)。
  • aof 一定程度上记录了 redis 的写操作流水,一段时间内文件冗余数据比较大需要重写解决问题。

1.2. rdb

  • rdb 快照,一个时间点的 redis 内存数据全盘落地(快照)。
  • rdb 文件是二进制数据压缩文件,数据落地速度快(相对),体积小。
  • 因为 redis 内存是全部数据落地,操作频率不能太高,通过配置持久化频率,几分钟到几小时不等。

2. 使用场景区别

根据 aof 和 rdb 持久化特点,我们看看应用场景主要区别:

  • 数据恢复。

    redis 服务异常,aof 比 rdb 更有利于数据恢复。aof 默认每秒将数据增量追加到文件末存盘一次,rdb 是一个时间点的数据快照,时间跨度比较大。

  • 数据备份。

    rdb 是 redis 内存数据快照,速度快,体积小。更适合于数据备份存储。

  • redis 服务启动速度。

    redis 启动加载 rdb 文件 比 aof 快。 因为 aof 文件有冗余命令,rdb 是数据集合。

  • 持久化速度。

    aof 默认每秒存盘和 rdb 持久化都是异步存储,基本不影响主线程主逻辑功能。如果 aof 采用写命令实时存盘,将会严重影响 redis 服务性能。

  • 集群节点间全量同步。

    集群节点间数据全量同步,需要拷贝服务进程的内存数据,根据 rdb 持久化特点:速度快,体积小,显然 rdb 更适合于集群间数据传输。


3. 持久化详细文档

redis 持久化 aof 和 rdb 区别,详细文档可以参考 redis 作者文章 《Redis Persistence》。

要了解更多的细节,可以查看 redis 源码实现。redis 持久化源码理解,可以参考我的帖子:

[转帖]redis 持久化方式 - aof 和 rdb 区别的更多相关文章

  1. 【Redis篇】Redis持久化方式AOF和RDB

    一.前述 持久化概念:将数据从掉电易失的内存存放到能够永久存储的设备上. Redis持久化方式RDB(Redis DB)   hdfs:    fsimageAOF(AppendOnlyFile)   ...

  2. Redis持久化存储(AOF与RDB两种模式)

    Redis中数据存储模式有2种:cache-only,persistence; cache-only即只做为“缓存”服务,不持久数据,数据在服务终止后将消失,此模式下也将不存在“数据恢复”的手段,是一 ...

  3. 20190930-02 Redis持久化方式一:RDB及修改RDB的默认持久化策略 000 032

  4. redis——持久化方式RDB与AOF分析

    https://blog.csdn.net/u014229282/article/details/81121214 redis两种持久化的方式 RDB持久化可以在指定的时间间隔内生成数据集的时间点快照 ...

  5. Redis持久化方式RDB和AOF

    Redis 持久化 RDB(快照) 优点 rdb是可进行压缩的二进制文件,表示Redis在某一个时间点的数据快照.非常使用与备份,灾难恢复等场景.比如使用定时任务执行bgsave并备份rdb到serv ...

  6. Redis持久化方式--RDB和AOF

    转载于:https://www.cnblogs.com/xingzc/p/5988080.html Redis提供了RDB持久化和AOF持久化 RDB机制的优势和略施 RDB持久化是指在指定的时间间隔 ...

  7. Redis学习——Redis持久化之AOF备份方式保存数据

    新技术的出现一定是在老技术的基础之上,并且完善了老技术的某一些不足的地方,新技术和老技术就如同JAVA中的继承关系.子类(新技术)比父类(老技术)更加的强大! 在前面介绍了Redis学习--Redis ...

  8. Redis持久化方式的选择

    本文将介绍Redis持久化的两种方式:快照持久化和AOF持久化,并对两种方法进行分析和对比,方便在实际中做出选择. 持久化 什么是持久化 Redis所有数据保存在内存中,对数据的更新将异步地保存到磁盘 ...

  9. redis持久化之AOF

    一:Redis的AOF是什么? 以日志的形式来记录每个写操作(读操作不记录),将Redis执行过的所有写指令记录下来(读操作不记录),只许追加文件但不可以改写文件,redis启动之初会读取该文件重新构 ...

  10. redis aof和rdb区别

    转自https://blog.csdn.net/m0_38110132/article/details/76906422 1.前言 最近在项目中使用到Redis做缓存,方便多个业务进程之间共享数据.由 ...

随机推荐

  1. 聊一聊如何整合Microsoft.Extensions.DependencyInjection和Castle.Core(二)

    聊一聊如何整合Microsoft.Extensions.DependencyInjection和Castle.Core(二) 前言 前文排版比较糟糕,这次我们使用vscode来写本文,,各位看客请见谅 ...

  2. Spring源码学习笔记6——Spring bean的实例化

    一丶前言 前面我们了解到读取xml or 根据扫描路径生成BeanDefinition并注册到BeanFactory,相当于我们具备了生火做饭的原材料:BeanDefinition,接下来就是Spri ...

  3. C# 将XML转为Word(附VB.NET代码)

    本文介绍如何通过C#程序代码方法将XML文件转换为Word文档,包括转为.doc /.docx等格式.并附VB.NET代码,有需要可供参考. 程序中所需必要程序集如下图: ★  程序集获取:官方地址: ...

  4. 高性能 Jsonpath 框架,Snack3 3.2.54 发布(支持 kotlin data 类反序化)

    Snack3,一个高性能的 JsonPath 框架 借鉴了 Javascript 所有变量由 var 申明,及 Xml dom 一切都是 Node 的设计.其下一切数据都以ONode表示,ONode也 ...

  5. PPT 商务报告:如何建立专属PPT素材库

    PPT 商务报告:如何建立专属PPT素材库 为什么建立素材库? 省事:直接套用 应对紧急环境:无网络情况下,无法搜索 提升设计思路:帮助提升思路 通用型素材库 企业型素材库 模板 灵感网站 使用场景 ...

  6. Jenkins Pipeline 流水线 - 上传文件 Publish over SSH + Docker 编译 + 上传到阿里仓库

    Jenkins Pipeline 流水线 Publish over SSH 将jar上传到远程 Docker 服务器.执行编译命令生成镜像.将镜像上传到阿里仓库 Publish over SSH Ja ...

  7. SQL Server 项目中 SQL 脚本更新、升级方式,防止多次重复执行

    MySQL 项目中 SQL 脚本更新.升级方式,防止多次重复执行 Oracle 项目中 SQL 脚本更新方式 一套代码,多家部署时,在SQL脚本升级时,通过一个SQL文件给运维,避免出现SQL执行序顺 ...

  8. 红黑树是什么?红黑树 与 B+树区别和应用场景?

    红黑树是什么?怎么实现?应用场景? 红黑树(Red-Black Tree,简称R-B Tree),它一种特殊的二叉树. 意味着它满足二叉查找树的特征:任意一个节点所包含的键值,大于等于左孩子的键值,小 ...

  9. 智慧风电:数字孪生 3D 风机智能设备运维

    前言 6 月 1 日,福建省人民政府发布关于<福建省"十四五"能源发展专项规划>的通知.规划要求,加大风电建设规模.自 "30·60" 双碳目标颁布 ...

  10. Serverless 应用托管助力企业加速创新

    作者: 熊峰 | 阿里云技术专家 云原生时代的 Serverless 应用托管架构 回顾过去十年,数字化转型将科技创新与商业元素不断融合.重构,重新定义了新业态下的增长极.商业正在从大工业时代的固化范 ...