RDB
rdb是一种类似于快照的方式进行持久化,原理是他单独fork了一个子进程专门去干这件事。可以通过修改配置文件来修改rdb的持久化策略。他的工作就是按照定义的策略,定时或者在修改多少次之后来进行快照。在宕机或者关闭时声称已个dump文件。当redis再次开启时他会自动读取这个dump文件来回复数据。rdb默认是开启的所以绝大多数情况下的需求他是可以满足的。
AOF
aof是以一种日志记录的方式来进行持久化的。他会记录每一次的操作。默认是每秒同步一次。在宕机或者异常情况重启后他会自动恢复。如果aof文件遭到破坏可以通过一个redis目录里的check-aof的文件来进行修复。aof方式默认是没有开启的需要去配置文件改appendonly为yes即可开启
区别:
rdb在效率上明显好于aof。aof文件默认大小64m当满了之后会重新fork一个子进程来弄个新文件存储。如果同时开启了rdb和aof redis会优先使用aof