• Redis持久化


    一、redis持久化

    # 快照:某时某刻数据的一个完成备份,
        -mysql的Dump
        -redis的RDB
    # 写日志:任何操作记录日志,要恢复数据,只要把日志重新走一遍即可
        -mysql的 Binlog
        -Redis的 AOF
       

    1.1RDB

    # 触发机制-主要三种方式
        -save:客户端执行save命令----》redis服务端----》同步创建RDB二进制文件,如果老的RDB存在,会替换老的
        -bgsave:客户端执行save命令----》redis服务端----》异步创建RDB二进制文件,如果老的RDB存在,会替换老的
        -配置文件
            save   900        1
            save   300        10
            save   60         10000
            如果60s中改变了1w条数据,自动生成rdb
            如果300s中改变了10条数据,自动生成rdb
            如果900s中改变了1条数据,自动生成rdb
            
        

    1.2AOF

    # 客户端每写入一条命令,都记录一条日志,放到日志文件中,如果出现宕机,可以将数据完全恢复
    
    #  AOF的三种策略
        always:redis–》写命令刷新的缓冲区—》每条命令fsync到硬盘—》AOF文件
        everysec(默认值):redis——》写命令刷新的缓冲区—》每秒把缓冲区fsync到硬盘–》AOF文件
        no:redis——》写命令刷新的缓冲区—》操作系统决定,缓冲区fsync到硬盘–》AOF文件
    
    # AOF重写
        -本质:本质就是把过期的,无用的,重复的,可以优化的命令,来优化
        -使用:
            -在客户端主动输入:bgrewriteaof
            -配置文件:
    # AOF持久化配置最优方案
    appendonly yes #将该选项设置为yes,打开
    appendfilename "appendonly.aof" #文件保存的名字
    appendfsync everysec #采用第二种策略
    dir ./data #存放的路径
    no-appendfsync-on-rewrite yes #在aof重写的时候,是否要做aof的append操作,因为aof重写消耗性能,磁盘消耗,正常aof写磁盘有一定的冲突,这段期间的数据,允许丢失
  • 相关阅读:
    HDU
    2015 NCPC Problem G-Goblin Garden Guards
    二分答案
    多校 HDU-6312 Game (博弈)
    唯一分解定理
    欧拉函数
    发布系统遇到的问题解决
    ASP.Net数据导出Excel的几种方法
    项目管理计划书模版
    sql server2008附加数据库5120错误
  • 原文地址:https://www.cnblogs.com/ZhZhang12138/p/14887068.html
Copyright © 2020-2023  润新知