搜索
您的当前位置:首页正文

redis中RDB和AOF有什么区别?

来源:好走旅游网

1.什么是RDB:

RDB:是把当前进程数据生成快照保存到硬盘的过程,触发RDB持久化过程分为手动触发和自动触发。

2.什么是AOF:

AOF:是以独立日志的方式记录每次写命令,重启时再重新执行AOF文件中命令达到恢复数据的目的。AOF的主要作用是解决了数据持久化的实时性,目前已经是Redis持久化的主流方式。

3二者有什么区别:

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


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

4.RDB的优点:

RDB是一个紧凑压缩的二进制文件,代表Redis在某一个时间点上的数据快照。
非常适合用于备份,全量复制等场景。比如每6小时执行bgsave备份,并把
RDB文件拷贝到远程机器或者文件系统中(如hdfs),用于灾难恢复。
Redis加载RDB恢复数据远远快于AOF方式。

5.RDB的缺点:

RDB方式数据没办法做到实时持久化/秒级持久化。
因为bgsave每次运行都要执行fork操作创建子进程,属于重量级操作,频繁执行成本过高。
RDB文件使用特定二进制格式保存,Redis版本演进过程中有多个格式的RDB,
存在老版本Redis服务无法兼容新版RDB格式的问题。

 

因篇幅问题不能全部显示,请点此查看更多更全内容

Top