首页 > 其他 > 详细

Redis 持久化

时间:2021-01-31 14:24:16      阅读:29      评论:0      收藏:0      [点我收藏+]

Redis持久化

Redis有两种方式做持久化(RDB,AOF)

  1. RDB(快照)
    • 技术分享图片
    • RDB恢复机制(只需将RDB文件放在我们Redis启动目录就可以了,Redis启动的时候会自动检查回复其中的数据)
    • RDB触发规则
      • Save 触发
      • flushall 触发
      • 退出 redis 触发
  2. AOF(所有命令记录)
    • 技术分享图片
    • 恢复机制同上
    • 原理:把所有命令记录存在AOF中(默认的文件名 append only.aof)
    • 修复AOF工具 (命令行:redis-check-aof-fix ‘文件名‘)
    • 重写规则:conf里面有一个语句 auto-aof-rewrite-min-size 64mb (aof文件大于64mb的时候会重写一遍  这个数值可以在 conf里面去配置)
      • 每秒同步一次Aof
      • 每次修改都同步一次Aof
      • 从不同步

各自的优缺点

EDB 优点:

  前提 对数据的完整性要求不高 适合大规模的数据恢复

   缺点:

  需要一定时间间隔进行操作,如果Redis意外宕机了最后一次修改的数据就没有了,Fork子进程的时候会占用一定的内存空间

AOF 优点:

   数据只会丢失两秒内的数据

   缺点:

   数据文件大小 aof>rdb,修复的速度比rdb慢

   运行效率 aof 慢于 rdb

   如果aof 文件有错误,这时候redis 是启动不了的

AOF , RDB 同时开启 启动Redis时会优先加载AOF文件(安全性更好)

性能建议

  RDB 只保留 conf 里边 Save 900 1

  AOF只会丢失不超过两秒的数据,但是带来了持续的IO,rewrite 过程中产生的数据写到新文件 造成的阻塞几乎不可避免

  使用主从 +RDB 主从同时宕机 会丢失十几分钟的数据 启动脚本 要比较 RDB文件选取最新的那个 

Redis 持久化

原文:https://www.cnblogs.com/yuners/p/14352290.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!