redis持久化策略

1.  redis作为内存数据库需要保存大量用户的数据,但是redis中的数据保存到内存中,由于断电/宕机,肯定会导致内存数据丢失,为了防止数据丢失,采用持久化的方式,实现内存数据的备份;

   当redis内存中有数据时,通过自身的策略有2中方式,一种是RDB模式,一种是AOF(默认);根据自身模式的设定进行数据的持久化;RDB或者AOF都有各自的持久化文件;

   当redis重启时,会根据配置文件中指定的持久化文件的名称,加载持久化文件,为了恢复内存的数据;

2.  RDB模式:

   2.1 特点:RDB模式定期将内存中的数据进行持久化,如果用户允许丢失少量的数据,则首选RDB模式,因为RDB模式定期为内存做快照;该方式的备份的速度时很快

   2.2 备份命令:(执行redis备份命令需要在客户端中redis-cli执行

      save(手动备份)-------会造成线程的阻塞,只有当备份操作完成时,才允许执行redis更新操作;

      bgsave(后台备份)----表示后台运行,不会造成线程的阻塞,其会挑不忙的时间做数据备份;

   2.3 备份方式:

      save 900 1    在900秒内,redis做一次更新操作,则备份一次

      save 300 10     在300秒内,redis做10次更新操作,则备份一次

      save 60 10000 在60秒内,redis做10000次更新操作,则备份一次

3.  AOF模式:(可以做到实时数据备份,该模式相当于通过配置文件记录了用户的全部操作过程);持久化文件明文保存,没有加密;(AOF模式开启后,RDB模式不生效!!!)

   3.1 特点:实时的数据备份,安全性好,持久化的速度较RDB模式慢;

          AOF持久化文件的体积很大;当数据恢复时,需要消耗很长的时间;

   3.2 AOF持久化策略:

      appendfsync  always----------每次操作都会备份

      appendfsync  everysec-------每秒备份一次

      appendfsync  no----------------不做操作

原文地址:https://www.cnblogs.com/yikuan-919/p/9900236.html