RDB:RDB持久化方式,是将Redis某一时刻的数据持久化到磁盘中,是一种快照式的持久化方法。
RDB优点:
- RDB是一个非常紧凑(有压缩)的文件,它保存了某个时间点的数据,非常适用于数据的备份。
- RDB作为一个非常紧凑的文件,可以很方便传送到另一个远端数据中心,非常适用于灾难恢复。
- RDB在保存RDB文件时父进程唯一需要做的就是fork出一个子进程,接下来的工作全部由子进程来做,父进程不需要再做其他IO操作,所以RDB持久化方式可以最大化redis的性能。
- 与AOF相比,在恢复大的数据集的时候,RDB方式会更快一些。
RDB缺点:
- Redis意外宕机时,会丢失部分数据。
- 当Redis数据量比较大时,fork的过程是非常耗时的,fork子进程时是会阻塞的,在这期间Redis是不能响应客户端的请求的。
AOF:AOF方式是将执行过的写指令记录下来,在数据恢复时按照从前到后的顺序再将指令都执行一遍。
AOF优点:
- 使用AOF会让你的Redis更加持久化。
- AOF文件是一个只进行追加的日志文件,不需要在写入时读取文件。
- Redis可以在AOF文件体积变得过大时,自动地在后台对AOF进行重写。
- AOF文件可读性高,分析容易。
AOF缺点:
- 对于相同的数据来说,AOF文件大小通常要大于RDB文件。
- 根据所使用的fsync策略,AOF的速度可能会慢于RDB。
注意:本文归作者所有,未经作者允许,不得转载