Redis之持久化RDB&AOF

RDB
AOF

  • RDB(Redis DataBase),默认开启,RDB方式是通过快照(snapshotting)完成的.所以redis不保证数据的完整性.
    • 触发快照的方式
      • 符合自定义配置的快照规则
      • 执行savebgsave命令
      • 执行flushall命令(执行前快照一次)
      • 执行主从复制操作(第一次)
    • 基于自定义配置的快照规则
    • 打开redis.conf 搜索 SNAPSHOTTING,可以看到相关配置
      在这里插入图片描述
      可以取消注释,开启快照
      默认是
      3600秒内有1次key的变更;300秒内有100次key的变更;60秒内有10000次的key的变更均会进行快照存储数据.
    • 当硬盘满了,是否关闭redis的写操作,默认是yes
      stop-writes-on-bgsave-error yes
      
    • 是否进行数据压缩后存储,默认yes
      rdbcompression yes
      
    • 是否进行完整性检查,默认yes -> 使用CRC64算法进行校验
      rdbchecksum yes
      
    • 持久化文件的文件名
      dbfilename dump.rdb
      
    • rdb文件存储位置,默认根目录
      dir ./
      
    • RDB存储过程:
      在这里插入图片描述
      劣势:
      fork的实收,内存中的数据会被克隆一份,大约需要2倍的空间
      RDB持久化可能会造成数据的不完整,如:采用每300秒备份一次的策略,如果在第290秒宕机,会丢失这290秒内的数据

  • AOF(Append Only File),AOF是以日志的形式来记录每个写操作的(增量保存),并会将redis所有执行过的写指令记录下来(读操作不记录),只允许追加文件不可以修改文件.
    • 默认关闭

      appendonly no
      
    • 文件默认名称

      appendfilename "appendonly.aof"
      
    • 默认存储位置: 根目录(和RDB相同)

      dir ./
      
    • 如果遇到aof文件损坏,可以通过 /use/local/bin/redis-check-aof 进行恢复,重启redis进行重新加载,命令:

      redis-check-aof --fix appendonly.aof
      
    • AOF同步频率

      # 每次Redis的写入都会立刻记录到日志;性能较差,单数据完整性较好
      # appendfsync always
      # 默认配置 , 每秒写入日志一次,如果宕机,本秒的数据可能丢失
      appendfsync everysec
      # redis不主动同步,把同步时机交给操作系统
      # appendfsync no
      
    • 日志压缩重写,默认no

      no-appendfsync-on-rewrite no
      

      # 压缩前
      set k1 v1
      set k2 v2
      # 压缩后
      set k1 v1 k2 v2
      

      当当前aof文件达到64M并且是上一次重写后的体量增加100%时会自动触发重写

      auto-aof-rewrite-percentage 100
      auto-aof-rewrite-min-size 64mb
      
    • AOF存储过程
      在这里插入图片描述

    • 优势:
      相比RDB数据完整性可能更好一些,数据丢失概率更低
      可读的日志文件,可以处理误操作

    • 劣势:
      因为还要存储写操作的命令,需要更多的存储空间
      恢复速度慢
      每次都同步的话,有一定性能压力


其他章节 -> 跳转

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

s_wei_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值