rdb保存数据对象文件,aof保存的是redis写命令 rdb是快照备份,一次保存全部数据库文件,aof是追加写入 rdb快照恢复速度快,aof命令多恢复速度慢 rbd文件小,aof文件大 rdb可能丢失数据,aof数据完整性高 rdb优先级低,aof优先级高 rdb保存时间间隔相对较长,aof保存时间间隔默认1s rdb的save会阻塞当前进程,bgsave不会,aof不会阻塞当前进程
rdb优点 rdb文件小,节省磁盘空间 恢复速度快 rdb缺点 备份保存时比较费时间, 一段时间做一次备份,可以会丢失最后一次快照
aof丢失数据概率低,追加写入效率高
aof缺点 占用更多磁盘空间 恢复速度慢 每次读写都同步,有性能压力
https://blog.csdn.net/chuanxincui/article/details/89306882 https://www.cnblogs.com/yhq-qhh/p/10140586.html
验证rdb和aof优先级
1.redis.conf 关闭aof appendonly no 2.保存rdb 127.0.0.1:6379> set k1 hello1 OK 127.0.0.1:6379> bgsave Background saving started gdut17@ubuntu:~/redis-6.0.8$ strings dump.rdb REDIS0009 redis-ver 6.0.8 redis-bits ctime used-mem aof-preamble hello1 3.移动rbf文件,redis.conf打开aof 重启redis 127.0.0.1:6379> set k2 hello2 OK gdut17@ubuntu:~/redis-6.0.8$ strings appendonly.aof SELECT hello2 4.将rdb文件mv回来,同时存在rdb和aof文件,重启redis keys* 查看结果是k2,说明两者都在时,优先使用的aof文件