写点什么

Redis 持久化 RDB 和 AOF 区别

作者:编程江湖
  • 2022 年 1 月 20 日
  • 本文字数:573 字

    阅读完需:约 2 分钟

RDB

RDB 是 Redis 内存到硬盘的快照,用于 redis 持久化,创建 RDB 二进制文件,将存储在内存中的数据,持久化的放到硬盘中,当我们需要这些数据的时候,启动载入 RDB 文件,数据将会被存入内存中,其实 RDB 就是一种快照的方式持久化存储数据,也可以作为一种复制媒介。

触发机制--主要三种方式

  • save 同步命令(会阻塞 redis)

  • bgsave 异步命令(fork)

  • 自动

关闭自动保存配置#save 900 1   #900秒 改了一次就自动生成RDB文件#save 300 10   #300秒修改了10次就自动生成RDB文件dbfilename dump-${port}.rdb   #rdb文件名dir /bigdiskpath      #分盘,rdb文件保存位置stop-writes-on-bgsave-error yes  #bdsave出错,停止写入rdbcompression yes           #采用压缩位置rdbchecksum yes            #开启校验和
复制代码

AOF

RDB 存在的问题:耗时耗性能,阻塞丢失数据

AOF 运行原理:每执行一条命令,就在 AOF 中增加一条记录。当需要恢复时,直接执行 AOF 写入 redis

AOF 三种策略

  • always(每条命令都把缓冲区 fsync 到硬盘)

  • everysec(每秒刷新一次,每秒吧缓冲区 fsync 到硬盘)

  • no(跟随操作系统,有操作系统决定,不可控)

AOF重写配置auto-aof-rewrite-min-size #AOF重写需要的最小尺寸auto-aof-rewrite-percentage #AOF文件增长率aof_current_size #统计当前aof文件大小aof_base_size #aof上次启动和重写的尺寸
复制代码

区别



总结

AOF 是全量备份,RDB 是增量备份。


关键词:java培训

用户头像

编程江湖

关注

IT技术分享 2021.11.23 加入

还未添加个人简介

评论

发布
暂无评论
Redis持久化RDB和AOF区别