Redis---04Redis持久化

一、RDB(保存的是数据)

  1.概念:

    在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是Snapshot快照,它恢复时是将快照文件直接读到内存里。

  2.执行过程:

    Redis会单独创建(fork)一个子进程来进行持久化,会先将数据写入到一个临时文件中,待持久化过程都结束了,再用这个临时文件替换上次持久化好的文件

  3.路径与名称

           

       

    在redis.conf文件中默认生成dump.rdb文件,可以修改dbfilename指定保存文件名称,通过config get dir 查询*.rdb文件的目录,文件保存的默认路径就是执行redis-server命令所在的路径(可以修改),例:

     

  4.保存策略
    

    要自动激活这个保存策略,可以是操作满足上面的要求或者直接使用shutdown命令

   5.手动保存快照

    save: 只管保存,其它不管,全部阻塞

    bgsave:按照保存策略自动保存

    

 

   6.RDB相关配置

    

 

 二、AOF

  1.概念:

    将Redis执行过的所有写指令记录下来(读操作不记录),只许追加文件但不可以改写文件,Redis启动之初会读取该文件重新构建数据;以日志的形式来记录每个写操作

   2. AOF默认不开启,需要手动在配置文件中配置,保存路径跟RDB文件一致

    

  3.AOF文件故障恢复

    如遇到AOF文件损坏,可通过redis-check-aof  --fix  appendonly.aof 进行恢复。(不保证全部恢复)

三、一般特性

  1.当RDB与AOF同时开启,redis听谁的?

    以AOF为准

  2.RDB与AOF的优缺点

    1) RDB的优缺点

      优点: 节省磁盘空间,恢复速度快.

       缺点: 虽然Redis在fork时使用了写时拷贝技术,但是如果数据庞大时还是比较消耗性能。           在备份周期在一定间隔时间做一次备份,所以如果Redis意外down掉的话,就会丢失最后一次快照后的所有修改

    2) AOF的优缺点

      优点:备份机制更稳健,丢失数据概率更低。可读的日志文本,通过操作AOF稳健,可以处理误操作。

       缺点:比起RDB占用更多的磁盘空间,恢复备份速度要慢,每次读写都同步的话,有一定的性能压力

posted @ 2020-04-15 19:50  Jenne  阅读(153)  评论(0)    收藏  举报