• 什么是RDB和AOF?


    RDB:

    Redis DataBase,在指定的时间间隔内将内存中的数据集 快照写⼊磁盘 ,实际操作过程是fork⼀个⼦进程,先将数据集写⼊临时⽂件,写⼊成功后,再替换之前的⽂件,⽤ ⼆进制压缩存储

    优点:

    1. 整个Redis数据库将只包含⼀个⽂件 dump.rdb,⽅便持久化。
    2. 容灾性好,⽅便备份。
    3. 性能最⼤化,fork ⼦进程来完成写操作,让主进程继续处理命令,所以是 IO 最⼤化。使⽤单独⼦进程来进⾏持久化,主进程不会进⾏任何 IO 操作,保证了 redis 的⾼性能
    4. 相对于数据集⼤时,⽐ AOF 的启动效率更⾼。

    缺点:

    1.  数据安全性低。RDB 是间隔⼀段时间进⾏持久化,如果持久化之间 redis 发⽣故障,会发⽣数据丢失。所以这种⽅式更适合数据要求不严谨的时候)

    2. 由于RDB是通过fork⼦进程来协助完成数据持久化⼯作的,因此,如果当数据集较⼤时,可能会导致整个服务器停⽌服务⼏百毫秒,甚⾄是1 秒钟。

    AOF:

    Append Only File,以⽇志的形式记录服务器所处理的每⼀个写、删除操作,查询操作不会记
    录,以⽂本的⽅式记录,可以打开⽂件看到详细的操作记录

    优点:

    1. 数据安全,Redis中提供了 3种同步策略 ,即每秒同步 每修改同步 不同步。事实上,每秒同步也是异步完成的,其效率也是⾮常⾼的,所差的是⼀旦系统出现宕机现象,那么这⼀秒钟之内修改的数据将会丢失。⽽每修改同步,我们可以将其视为同步持久化,即每次发⽣的数据变化都会被⽴即记录到磁盘中。。
    2. 通过 append 模式写⽂件,即使中途服务器宕机也不会破坏已经存在的内容,可以通过 redis-check-aof ⼯具解决数据⼀致性问题。
    3. AOF 机制的 rewrite 模式。定期对AOF⽂件进⾏ 重写 ,以达到压缩的⽬的

    缺点:

    1. AOF ⽂件⽐ RDB ⽂件⼤,且恢复速度慢。
    2. 数据集⼤的时候,⽐ rdb 启动效率低。
    3. 运⾏效率没有RDB⾼

    总结:

    AOF⽂件⽐RDB更新频率⾼,优先使⽤AOF还原数据,AOF⽐RDB更安全也更⼤,RDB性能⽐AOF好,如果两个都配了优先加载AOF。

     

  • 相关阅读:
    黑灰产技术手段不断“进阶”,如何防御双十二“羊毛党”?
    Typora免费版下载【Mac、Windows】
    Android 平板、手机: 忘记密码处理及刷机处理技术贴(以三星为例)
    vue搭建脚手架遇到的一个bug
    如何给Github上的开源项目提交PR?
    linux 锁-- atomic & per_cpu
    一站式开源持续测试平台 MerterSphere 之测试跟踪操作详解
    阿里云服务器配置选择方案_CPU内存_带宽_系统盘
    如何生成时间戳和如何生成UUID最新详解(教你怎么用)
    数字工厂中的SCADA(数据采集与监控系统)
  • 原文地址:https://blog.csdn.net/m0_70734549/article/details/126362944