RDB
RDB全称Redis Database Backup file(Redis数据备份文件),也被叫做Redis数据快照。简单来说就是把内存中的所有数据都记录到磁盘中。当Rdis实例故障重启后,从磁盘读取快照文件,恢复数据。
人工手动方式生成RDB,子线程bgsave
系统操作:子线程进行(多少秒内,至少有多少个key修改,就会触发生成RDB文件)
RDB执行原理:
AOF
AOF全称为Append Only File(追加文件)。Redis处理的每一个写命令都会记录在AOF文件,可以看做是命令日志文件。
AOF功能默认关闭需要手动开启,它的刷盘策略默认1s刷新一次,把命令写入磁盘。
俩者对比:
项目中如何结合使用?
redsi4.0以后开始支持rdb和aof混合持久化,它是默认关闭的,可以通过配置项aof-use-rdb-preamble开启。
这样打开以后,aof重写的时候就直接把rdb的内容写到aof文件开头,避免了快速加载时丢失过多数据,缺点是aof里面的rdb部分文件是压缩格式不再是aof格式,可读性差。