redis的AOF和RDB区别

redis的AOF和RDB区别redis 的 AOF 和 RDB 区别

RDB

描述:

  • 将Reids在内存中的数据库记录定时dump到磁盘上。在指定的时间间隔内将内存中的数据集快照写入磁盘,实际操作过程是fork一个子进程,先将数据集写入临时文件,写入成功后,再替换之前的文件,用二进制压缩存储。

优势

  • 备份简单,容易恢复
    • 一旦采用该方式,那么你的整个Redis数据库将只包含一个文件
    • 这对于文件备份而言是非常完美的, 一旦系统出现灾难性故障,我们可以非常容易的进行恢复
    • 可以非常轻松的将一个单独的文件压缩后再转移到其它存储介质上。
  • 性能最大化。
    • 对于Redis的服务进程而言,在开始持久化时,它唯一需要做的只是fork出子进程,之后再由子进程完成这些持久化的工作,这样就可以极大的避免服务进程执行IO操作了。
    • 如果数据集很大,RDB的启动效率会更高。

劣势

  • 如果你想保证数据的高可用性,即最大限度的避免数据丢失,那么RDB将不是一个很好的选择。因为系统一旦在定时持久化之前出现宕机现象,此前没有来得及写入磁盘的数据都将丢失。
  • 由于RDB是通过fork子进程来协助完成数据持久化工作的,因此,如果当数据集较大时,可能会导致整个服务器停止服务几百毫秒,甚至是1秒钟。

AOF

描述:

  • 将Reids的操作日志以追加的方式写入文件
  • 以日志的形式记录服务器所处理的每一个写、删除操作
  • 查询操作不会记录,以文本的方式记录,可以打开文件看到详细的操作记录。

优势

  • 数据一致性。
    • 即使出现宕机,也不会破坏日志文件中已经存在的内容。
  • 数据安全性(持久性)。

劣势

  • aof的恢复数据速度比rdb慢。因为aof文件通常大于rdb

区别

选择标准:

  • 系统是愿意牺牲一些性能,换取更高的缓存一致性(aof),还是愿意写操作频繁的时候,不启用备份来换取更高的性能,待手动运行save的时候,再做备份(rdb)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/230669.html原文链接:https://javaforall.net

(0)
上一篇 2026年2月9日 下午6:01
下一篇 2026年2月9日 下午6:22


相关推荐

  • 微信公众平台开发之用户绑定

    微信公众平台开发之用户绑定作为一个刚毕业的大学生 一进公司就被安排到新的项目组进行微信公众平台开发 作为一个菜鸟 顿时觉得压力山大 最重要的是 公司里还没有人做个这方面 一直都只能靠自己摸索 这篇文章只能说是我个人在做微信开发过程中的一些记录 在微信公众平台里 每个用户对每个公众号的 OpenID 是唯一的 对于不同公众号 同一用户的 openID 不同 所以用户绑定 可以用 OpenID 绑定 也可以用 OpenID 来获取用户

    2026年3月18日
    2
  • Cisco 管理Mac 地址表

    Cisco 管理Mac 地址表

    2022年3月3日
    53
  • pycharm专业版下载安装教程_pycharm安装后无解释器

    pycharm专业版下载安装教程_pycharm安装后无解释器常见的pycharm是收费的,或者需要序列号,找起来很麻烦,现在介绍一款免费使用的pycharm–教育版。下面介绍一下pycharm的安装过程和使用中常见的一些问题。一、安装pycharm下载地址:https://www.jetbrains.com/pycharm-edu/ 。下载之后双击即可安装,安装过程中一直点击下一步即可。二、更换主题1.点击File->S…

    2022年8月25日
    9
  • Java网络编程之TCP粘包拆包

    Java网络编程之TCP粘包拆包

    2022年3月6日
    42
  • STM32延时函数的四种方法

    STM32延时函数的四种方法目录1、普通延时2、定时器中断3、查询定时器4、汇编指令单片机编程过程中经常用到延时函数,最常用的莫过于微秒级延时delay_us()和毫秒级delay_ms()。本文基于STM32F207介绍4种不同方式实现的延时函数。1、普通延时这种延时方式应该是大家在51单片机时候,接触最早的延时函数。这个比较简单,让单片机做一些无关紧要的工作来打发时间,经常用循环来实现,在某些编译器下,代码会被优化,导致精度较低,用于一般的延时,对精度不敏感的应用场景中。//微秒级的延时void

    2022年5月5日
    61
  • 数据仓库搭建ODS层[通俗易懂]

    数据仓库搭建ODS层[通俗易懂]其他内容请关注我的博客!在<项目>专栏里!!!目录一、用户行为数据1.1创建日志表1.2ODS层加载数据脚本二、业务数据2.1hive建表2.2ODS层加载数据脚本一、用户行为数据1.1创建日志表1)创建支持lzo压缩的分区表droptableifexistsods_log;CREATEEXTERNALTABLEods_log(`line`string)PARTITIONEDBY(`dt`string)–

    2022年10月5日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号