Redis 的RDB与AOF机制原理(持久化)
2021/8/5 2:06:46
本文主要是介绍Redis 的RDB与AOF机制原理(持久化),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
RDB:Redis DataBase
在指定时间间隔内将内存中的数据集快照写入磁盘; 实际操作使 fork一个子进程,先将数据集写入到一个临时文件中,再用临时文件替换之前的文件,文件是用二进制压缩存储;
优点 :
1) 整个 Redis 只有一个 dump.rdb 文件,方便持久化,方便备份;
2) 因为是 fork出一个子进程处理这些 I/O操作,主进程仍然继续处理命令,不进行这些 I/O操作,所以性能最大化,保证了Redis的高性能;
缺点:
数据安全性低, RDB持久化是每间隔一段时间进行的,若 redis发生故障,那么会出现最近一次持久化后到发生故障中间这段时间的数据丢失,所以这种方式适合于对数据要求不严谨的时候;
AOF: Append Only File
以日志形式记录 Redis的每一个 写,删除操作,查询操作不会记录,这些操作会记录在 AOF文件中,打开文件可以看到这些详细的操作记录;
优点:
1) 数据安全; 因为 Redis中提供了三种同步策略,每秒同步/每修改同步/不同步;假如每秒同步,即使发生故障,也只是丢失这一秒数据;每修改同步就相当于同步持久化,数据一修改就会立马进入到磁盘中;
2)因为操作使通过 append方式记录在 AOF文件中的,即使系统宕机也不会破坏已经存在的内容,即使 AOF文件出现损坏,也可以通过 Redis-check-aof 工具修复数据的一致性;
3) AOF机制的 rewrite模式,定期对 AOF文件重写,比如第一次操作修改一个值 为100,最后一次修改同一个值的操作,改值为 200,那么重写后会合并为改值 200的操作记录,在不影响结果的情况下压缩操作,将两个记录合并为一个,达到了压缩文件减小文件的目的;
缺点:
AOF文件比RDB文件大,恢复速度慢; AOF数据集大的时候启动慢,运行效率没有 RDB高;
区别
AOF更新频率比RDB高,优先使用AOF还原数据;
AOF比RDB更安全;
RDB的效率比AOF好;
如果Redis中这两种持久化都配置了,会优先加载AOF;
这篇关于Redis 的RDB与AOF机制原理(持久化)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-08阿里云Redis项目实战入门教程
- 2024-11-08阿里云Redis资料:新手入门与初级使用指南
- 2024-11-08阿里云Redis教程:新手入门及实用指南
- 2024-11-07阿里云Redis学习入门:新手必读指南
- 2024-11-07阿里云Redis学习入门:从零开始的操作指南
- 2024-11-07阿里云Redis学习:初学者指南
- 2024-11-06阿里云Redis入门教程:轻松搭建与使用指南
- 2024-11-02Redis项目实战:新手入门教程
- 2024-10-22Redis入门教程:轻松掌握数据存储与操作
- 2024-10-22Redis缓存入门教程:快速掌握Redis缓存基础知识