Redis持久化RDB与AOF操作

为什么要进行持久化呢?

        因为redis是内存操作系统,在写入数据或存入数据不进行持久化数据存入磁盘的话,如果出现宕机或者关闭服务器那么我们的数据也将进行永久的丢失。

RDB 

        在指定的时间间隔将数据快照写入磁盘,他恢复时是将快照文件直接读取到内存里面。rdb保存的文件名后缀就是  .rdb文件。他保存的文件是dump.rdb,都是在我们配置文件快照中配置的。

RDB触发机制 :

  1. save的规则满足的情况下,会自动触发我们的rdb。

      2. 执行flushall命令时也会触发rdb。

      3. 退出redis时也会产生rdb文件。         

如何恢复RDB文件 : 

        只要将我们的rdb文件放到我们redis安装目录下就可以了,redis启动的时候他会自动去检测rdb文件进行恢复。完全自动化的。有时候在生产环境都会进行rdb备份。防止数据丢失

       

RDB优点与缺点 : 

        优点 :适合大规模数据恢复,对数据的完整性要求不高。

        缺点 :需要一定的时间间隔进程操作,如果redis宕机了,最后一次修改的数据就没有了,还有会占用一定的内存空间。

***************************************************AOF************************************************

什么是AOF :将我们的所有命令都记录下来,恢复的时候就将这个文件全部在执行一遍。AOF默认是关闭的,只需要将下面配置文件改成yes就开启了。

       开启我们rdb以后,我们所有执行的命令都会被保存到appendonly.aof文件里面,如果文件正常我们直接重启就可以恢复了,但是文件遭到破坏那么我们的redis是无法启动的,我们必须要通过redis-check-aof文件进行恢复。

恢复命令 :

             redis-check-aof --fix appendonly.aof

有点与缺点 :

优点 :每次修改以后都会同步,文件的完整性会更好。但是每秒同步数据也会丢失最后一秒的。

缺点 :开启以后对我们的性能是有一定的影响,效率会有所降低。而且修复的数据也比rdb慢,运行效率也会比rdb慢,所以一般开发的时候都是启动我们的rdb,而不启动aof

总结 : 如果redis只做普通的缓存,我们也可以不使用任何的持久化,如果对数据的要求较高我们可以同时开启rdb和aof,因为rdb虽然效率高但是他会有很多自己的一些规则,比如rdb一些恢复机制什么的,并且rdb的数据没有aof数据完整。如果rdb配置规则过于实时存储的话他会非常的消耗性能。所以各有个的优缺点,一般rdb只保留 save 900 1这条规则。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值