1.RDB持久化:
符合一定条件时redis会将内存中所有数据以二进制方式生成一份副本存储到硬盘上(快照),redis重启时可以通过该副本恢复数据,生成快照时redis进入阻塞状态。
2.AOF持久化:
redis将日志追加到磁盘文件中,redis启动时优先选择从AOF文件恢复数据。由于每次写操作都会记录日志,因此AOF会降低性能,但比起RDB的一次性阻塞式备份数据,AOF消耗的内存和资源更少。AOF文件达到阀值时(或执行bgrewriteaof命令),会重写一次AOF文件,将每个Key只保留最新的value的日志
3.混合持久化:
开启混合持久化后,redis按照正常RDB快照规则生成快照文件,在两次快照期间则通过AOF追加日志到RDB数据后面,因此最终生成的AOF文件是一个以RDB数据开头,多个日志操作结尾的文本文件,新产生的AOF文件会直接覆盖旧的AOF文件。优点:兼具了RDB加载快、数据量小和AOF数据高安全性(日志)的优点,而且也不需要重写过程了。缺点:redis4之前的版本不识别混合AOF文件。