Redis持久化机制

Posted by BY 大雁小鱼 on October 22, 2018

Redis有2种持久化机制,分别是RDB和AOF

RDB持久化机制

RDB持久化机制的原理

主要用于redis数据周期性备份使用,这种机制会对内存数据做一个快照,生成一个文件存储在磁盘上,运维人员可以将这个文件远程拷贝到其他机器上备份起来,在需要的时候可以拿来复原内存数据(人们常说的冷备)。

RDB持久化机制的优点:

读取文件中的数据还原数据比AOF快

RDB持久化机制的缺点:

由于是定时备份,所以一旦当机,从最新一次备份到宕机时的数据会丢失,不能100%保证数据不丢失

AOF持久化机制

AOF持久化机制的原理

主要用于实时备份数据,做到数据不丢失,宕机后能100%恢复。它的原理是对每一条写入命令作为日志以append-only的模式写入日志文件,所以REDIS可以通过回放AOF中的日志来重新构建完整的数据集

AOF持久化机制的优点:

可以100%持久化,保证数据不丢失

AOF持久化机制的缺点:

存在性能问题,由于需要对每条写入命令做落盘操作,增加了磁盘IO的开销

注意事项

  • 我们把redis仅仅作为纯内存缓存来使用的时候,完全可以禁止所有持久化机制
  • 任何技术,只有在懂它的人手里才能充分发挥它的价值,运维人员如果不懂得如何使用持久化机制,会给线上生产环境带来灾难,所以所选技术的好坏不等同于它所能发挥的价值大小,还要看使用者的水平