zoukankan      html  css  js  c++  java
  • Redis入门到精通(十二)——持久化AOF概念、AOF写数据的三种策略(always/everysec/no)、AOF重写方式(手动重写、自动重写)、AOF重写流程、RDB与AOF的选择、Redis持久化总结

    RDB的弊端

    解决思路

    一、AOF的概念

    二、AOF写数据的过程

    客户端发出指令给服务端,服务端并没有马上记录,而是放到AOF写命令刷新缓存区,到一定时间之后将命令同步到AOF文件中。

    AOF写数据三种策略

    always(每次)
    每次写入操作均同步到AOF文件中,数据零误差,性能较低,如果不是对数据非常严格不建议使用
    everysec(每秒)
    每秒将缓冲区中的指令同步到AOF文件中,数据准确性较高,性能较高,建议使用,也是默认配置。在系统突然宕机的情况下丢失1秒内的数据
    no(系统控制)
    由操作系统控制每次同步到AOF文件的周期,整体过程不可控

    AOF功能开启

    两个配置:
    appendonly yes|no        #配置是否开启AOF持久化功能,默认为不开启状态
    
    appendfsync   always|everysec|no      #AOF写数据策略

    注意:数据如果有修改了才会写入.aof文件,只是查询(get)的话不会写入文件

    AOF相关配置

    两个配置:
    appendfilename  filename   #AOF持久化文件名,默认文件名为appendonly.aof,建议配置为appendonly-端口号.aof
    
    dir     #AOF持久化文件保存路径,与RDB持久化文件保持一致即可

    三、AOF写数据遇到的问题

    AOF重写问题

     

     

    AOF重写规则

    四、AOF重写方式

    手动重写   bgrewriteaof      #在客户端输入

    自动重写触发的条件设置
    auto-aof-rewrite-min-size  size    #设置触发aof的最小尺寸
    auto-aof-rewrite-percentage percent     #达到重写的百分比
    
    自动重写触发对比参数(运行指令info  在Persistence获取具体信息)
    aof_current_size
    aof_base_size

    五、AOF重写流程

     非重写流程(always/everysec)

    重写流程

    六、RDB与AOF的区别 

     

     RDB与AOF的选择

     

    七、Redis持久化的总结

    1.什么是持久化
    2.RDB
    save
    bgsave
    配置
    3.AOF
    持久化写策略(三种)
    重写
  • 相关阅读:
    Clean Code(三):注释
    Clean Code(二):函数
    mysql中查询某字段所在的表方法
    对于POI的XSSFCell 类型问题
    Clean Code 笔记 (一):命名
    java 注解
    搭建Eureka服务时报Cannot execute request on any known server 错误
    Jquery获取子父类方法
    Oracle 查询id相同多个数据取一条
    Ajax的使用及后台如何传参
  • 原文地址:https://www.cnblogs.com/wangcuican/p/12882930.html
Copyright © 2011-2022 走看看