Redis持久化有两种方式,RDB和AOF,持久化通常都会fork一个子进程做备份。
RDB使用一次性生成内存快照方式,压缩且文件更紧凑,读取RDB恢复速度快;但是每次RDB是全量备份,速度慢,无法做到实时持久化,通常用于数据冷备和复制传输。
AOF通过追加命令到文件实现实时(秒级)持久化,极端情况丢失2s的数据;因为不断追加命令,文件会越来越大,要定期执行重写AOF文件降低文件体积(因为老文件里的好多key可能过期或被删了),AOF重写期间还需要维护重写缓冲区,保存新写入的命令。
Redis持久化有两种方式,RDB和AOF,持久化通常都会fork一个子进程做备份。
RDB使用一次性生成内存快照方式,压缩且文件更紧凑,读取RDB恢复速度快;但是每次RDB是全量备份,速度慢,无法做到实时持久化,通常用于数据冷备和复制传输。
AOF通过追加命令到文件实现实时(秒级)持久化,极端情况丢失2s的数据;因为不断追加命令,文件会越来越大,要定期执行重写AOF文件降低文件体积(因为老文件里的好多key可能过期或被删了),AOF重写期间还需要维护重写缓冲区,保存新写入的命令。