Redis持久化RDB与AOF介绍

发布时间 2023-11-30 14:40:47作者: 天启A

就是将内存中的数据通过rdb/aof进行持久化写入硬盘中

rdb就是进行持久化的快照

在指定的时间间隔内,执行数据集的时间点快照。这个快照文件称为(dump.rdb)RDB文件,Redis DataBase

rdb的手动保存中都是用bgsave,不用save。在使用save时主程序会阻塞当前Redis服务器,执行期间不能处理其他命令(缓存功能直接噶了)。

bgsave会在后台异步进行快照,不阻塞,该触发方式会fork一个子进程复制持久化过程

fork是什么?fork会产生一个和父进程完全相同的子进程

rdb总结

  适合灾难恢复;定时备份;对数据完整性和一致性要求不高

     如果系统突然down掉,会丢失当前到最近一份快照的数据

   内存数据的全量同步,如果数据量太大会导致I/O严重影响系统性能

   fork也会挤占I/O和内存

 

aof就是把文件追加到尾
aof是把执行成功的写指令保存在文件中,文件是appendonly.aof

aof文件可读性强,如果误用了flushall在没有重写的时候可以在aof中删除最后一条信息保护数据

aof的缓存具有重写机制,

手动重写是bgrewriteaof,这个是在子线程完善,是异步的;自动重写是当达到最小允许的内存或者其二的倍数就会发生重写。重写会压缩文件的大小

在进行恢复的时候,会优先执行aof文件