Redis的AOF和RDB

一、RDB

     1、RDB:内存数据保存到磁盘中实现持久化(中间会进行压缩)

        1-1、持久化的方式:基于结果,有手动、自动、被动触发方式( bgsave)

              手动触发:直接使用bgsave(时间把握不好的话,当要执行bgsave的时候,是需要提交邮件申请的)

              自动触发:save m n 900秒至少1次操作(配置文件)

              被动:1) 执行shutdown 之后,会触发bgsave, 2)正常渠道关闭redis 的时候(不包括暴力关闭,例如 rm -rf /var/lib/redis.pid)

          1-2、RDB:类似于快照,"周期性"的进行保存,个人偏向于触发式的快照这个说法 save m n

二、AOF

     1、AOF :内存数据,先append 追加到缓冲区中,再从缓冲区中根据同步写入的策略,写入到磁盘中

        1-1、持久化的方式:基于执行语句,主要有手动、自动方式

              手动:bgrewriteaof

              自动:1)基于定期时间执行,2)基于AOF文件和缓存数的差异值进行aof(默认64M)

              同步写入策略:1)everysecond, 2 ) always ,3 ) no

         1-2、"压缩"功能:针对于AOF文件进行的"压缩"处理,主要体现在rewrite重写机制
rewrite重写,针对于以下几点
              1)过期的key

              2)无效的key

              3)多条合并

              以此,节省磁盘资源

三、RDB 和AOF的对比

      1、RDB持久化速度相较于AOF更快(基于结果保存,并且直接将内存中的数据,写入到磁盘中)

       2、从redis重启后的数据恢复角度看,AOF会比RDB 更为安全

       3、优先级:仅当AOF功能关闭时,才会基于RDB进行恢复

       4、RDB和AOF持久化的文件对比而言,AOF的文件体力天然会比RDB 要大,并且在首次全量备份后,会进行增量备份,毕竞容易造成了一个redis服务器本身的磁盘空间问题—》1)共享存储2)定时归档,类似于find /etc/ -name '*.log' -mtime +30    |   xargs scp

find /etc -name ‘*.log’ -mtime +30 -exec rm -rf {}\;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值