特性 | RDB | AOF |
---|---|---|
配置项 | save |
appendfsync |
配置值 | n m |
always |
工具 | redis-check-aof | |
形式 | 二进制文件 | 独立日志 |
文件大小 | 小 | 大 |
恢复速度 | 快 | 慢 |
触发备份 | 按时计次 | 跑一句存一句 |
时效性 | 低 | 高 |
数据丢失 | 没到时间存下来的就没了 | 不丢失 |
兼容 | 演进多种格式,老版本不一定可以 | 语句都兼容 |
适合场景 | 备份、全量复制 |
Redis4.0版本推出了混合持久化机制,5.0之前默认关闭,5.0版本已经默认开启了
前大部分用RDB,后部分用AOF
那么就又快、数据又完整
aof-use-rdb-preamble yes
混合持久化是通过BGREWRITEAOF
来实现的:
未开启混合持久化时,AOF重写的方式是将多条指令优化为一条
开启混合持久化后,AOF前半段是RDB格式的二进制数据全量文件,后半段以日志命令的方式追加,AOF文件也采用混合存储。