###1.RDB(reids database)

   含义:在指定时间间隔内将内存中的数据集快照写入磁盘,进行数据恢复时将磁盘中的数据集直接读入内存呢。

   工作机制:每隔一段时间将内存中的数据保存到硬盘中的指定文件中

   

   保存策略:

                 save 900 1 900 秒内如果至少有1 个key 的值变化,则保存
                 save 300 10 300 秒内如果至少有10 个key 的值变化,则保存
                 save 60 10000 60 秒内如果至少有10000 个key 的值变化,则保存

  

   优点:每隔一段时间进行保存,适合进行数据的备份

       RDB是一个紧凑的单一文件,能够很方便的上传云端,非常适用于灾难恢复

       与AOF相比,恢复大的数据集时候速度相对较快

   缺点:因为数据是按照一段时间间隔进行备份,若是发生意外,会造成比较多的数据损失

###2.AOF(append only file)

   含义:AOF是以记录日志的方式记录每一次操作数据,reids重启时读取该日志文件,重新执行命令来恢复数据。默认不开启,若开启,以该方法为优         先数据恢复方法

   工作机制:将每次的新建更新操作记录到日志,实现数据备份

   优点:备份机制更稳健,损失的数据更少

       可读测日志文件

   缺点:比起RDB消耗更多的系统资源

       备份速度比RDB更加慢

       存在个别bug使得无法恢复备份

 

   保存策略:

                   appendfsync always:每次产生一条新的修改数据的命令都执行保存操作;效率低,但是安全!
                   appendfsync everysec:每秒执行一次保存操作。如果在未保存当前秒内操作时发生了断电,仍然会导致一部分数据
                                                          丢失(即1 秒钟的数据)。
                  appendfsync no:从不保存,将数据交给操作系统来处理。更快,也更不安全的选择。
                                               推荐(并且也是默认)的措施为每秒fsync 一次, 这种fsync 策略可以兼顾速度和安全性。