RDB Redis DataBase
可以在指定的时间间隔内生成数据及的时间点快照
是一个非常紧凑的文件,保存了Redis在某个时间点上的数据集,适用于进行备份。
非常适用于灾难恢复:只有一个文件,并且内容非常紧凑,可以在加密后将它传送到别的数据中心
- 可以最大化Redis性能:服进行在保存RDB文件唯一要做的就是fork一个子进程,然后子进程就会处理接下来所有的保存工作,服进行无须执行任何磁盘I/O操作
- 在恢复大数据集时笔AOF速度要快
- 发生错误时,会有几分钟的数据丢失
- 每次保存RDB时都需要fork子进程,数据量大时,会非常耗时,如果CPU时间紧张,就会停止处理客户端
AOF Append Only File
记录服务器执行的所有写操作命令,并在服务器启动时,通过重新执行这些命令来还原数据集
AOF文件中的命令全部以Redis协议的格式保存,新命令会被追加到文件的末尾
Redis还可以在后台对AOF文件进行重写,使得AOF文件的提及不会超出保存数据集状态所需的实际大小
- 会让Redis变得非常耐久:可以设置不同的fsync策略,默认每秒fsync一次
- AOF文件是一个只进行追加操作的日志文件,对AOF文件写入不需要进行seek
- Redis
可以同时使用AOF持久化和RDB持久化,在Redis重启时,会优先使用AOF文件来还原数据集,因为AOF保存的数据集通常比RDB文件更加完整