Redis的rdb和aof持久化的区别?

2020年04月26日 · 技术帮助分享 · 116次阅读
------正---文------

RDB持久化:将Redis在内存中的数据库记录定时dump到磁盘上
AOF持久化:将Redis的操作日志以追加的方式写入文件

区别:RDB持久化是指在指定的时间间隔内将内存中数据集快照写入磁盘,实际操作是fork一个子历程,先将数据集写入临时文件,写入胜利后,再替换之前的文件,用二进制压缩存储。
AOF持久化以日志形式记录服务器所处分的每一个写删操作,盘问操作不会记录,以文本的方式记录

RDB 优点 :

  • 整个Redis数据库只包含一个文件,对于文件备份而言最完善,一旦系统出现故障,恢复容易,文件迁移方便

  • 性能最大化:持久化是fork子历程,由子历程实现持久化工作,极大的避免服务历程执行IO操作

  • 相比AOF,持久的数据集大时,RDB启动更快

RDB缺点:

  • 如果要包管数据的高可用,最大限度的避免数据丢失,RDB不是最好的,系统在定时持久化之前宕机,数据将丢失

  • RDB通过fork子历程来协助实现数据持久化工作,如果数据集较大时,可能会导致整个服务器休止服务几百毫秒,甚至1秒钟

AOF优点:

  • 数据安全性更高,每秒同步,每点窜同步(效率低),不同步,每秒同步(异步)效率最高,一旦宕机,丢失1s

  • 写日志是append模式,写入即使宕机,也不会破坏日志文件中已经存在的内容,redis_check_aof解决数据一致性

  • AOF日志格式清楚,易于明白

AOF缺点:

  • 相同数量的数据集,AOF文件大于RDB文件

  • AOF恢复速度比RDB慢

  • AOF运行效率比RDB慢

总结:

  • 愿意牺牲性能,换取更高的缓存一致性 aof

  • 缓存一致性不用辣么高,但是备份性能高 rdb


转载自:

https://www.clarkhu.net/?p=400


------结---束------


『静谧星河』采用《署名-相同方式共享 4.0 国际》进行许可。如需转载请保留本文地址。
本文地址:
https://www.yuvin.cn/help/344.html
遇见江湖恋爱武侠

支持我

教程帮助解决方法Redis

静谧星河最后编辑于6个月前


因本站不提供交互式服务,评论均需审核后显示,敬请谅解。

添加新评论

captcha

请输入验证码