• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Redis持久化RDB和AOF区别详解

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

    RDB

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

    Save同步命令

    save

    文件策略:生成一个临时文件,如果存在老的文件,将会替换旧文件

    bgsave 异步命令

    主进程通过fork()函数,创建子进程生成DRB文件,在此期间访问redis仍然能正常响应

    命令 save bgsave
    IO 同步 异步
    阻塞 阻塞 阻塞(操作不当fork阻塞)
    优点 不额外占用内存 不阻塞客户端命令
    缺点 阻塞客户端命令 需要fork,额外消耗内存

    redis自动生成RDB文件(不可控)

    save 900 1 #900秒 改了一次就自动生成RDB文件
    save 300 10 #300秒修改了10次就自动生成RDB文件

    redis save配置推荐

    #关闭自动保存配置#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            #开启校验和

    不容忽视的触发机制

    有时候我们没有执行save bgsave命令,也没有开启自动保存命令,还是会生成RDB,可能是因为以下原因:

    AOF

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

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

    AOF三种策略

    命令 always everysec no
    优点 不丢失数据 每秒一次 不用管
    缺点 IO开销大 丢失一秒数据 不可控

    AOF重写

    将过期的,重复的,做一些优化合并

    作用:减少磁盘空间占用,加快文件恢复速度

    AOF重写两种方式:

    bgrewriteaof

    aof重写配置

    AOF重写配置

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

    AOF配置

    RDB和AOF的比较

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    您可能感兴趣的文章:
    • Redis 彻底禁用RDB持久化操作
    • 浅谈Redis中的RDB快照
    • Redis 通过 RDB 方式进行数据备份与还原的方法
    • Redis打开rdb文件常用方法详解
    • redis学习之RDB、AOF与复制时对过期键的处理教程
    • Redis两种持久化方案RDB和AOF详解
    • 了解redis中RDB结构_动力节点Java学院整理
    • Redis RDB技术底层原理详解
    上一篇:关于使用IDEA的springboot框架往Redis里写入数据乱码问题
    下一篇:硬核!15张图解Redis为什么这么快(推荐)
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Redis持久化RDB和AOF区别详解 Redis,持久化,RDB,和,AOF,区别,