什么是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。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

图图是个好孩纸~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值