• Redis持久化


    1.持久化方式

    快照:

    • Msyql dump
    • Redis RDB

    写日志:

    • Mysql BingLog
    • Hbase HLog
    • Redis AOF

     

    2.什么是RDB

    Redis(内存) ————创建————> RDB二进制文件(硬盘)

    Redis <——————启动载入—————RDB二进制文件

    3.触发生成快照的三种方式

    • save(同步)
    • bgsave(异步)
    • 根据配置自动生成快照

    save命令

    client ———执行save命令———>(阻塞)Redis ——创建——> RDB二进制文件

    bgsave命令

    client ———执行save命令———>(异步方式,fork子进程生成快照)Redis ——创建——> RDB二进制文件

    生成快照期间,redis服务器仍然可响应其他客户端

    save与bgsave的对比

    命令 save bgsave
    IO类型 同步 异步
    阻塞? 是(阻塞发生在fork子进程的时候)
    复杂度 O(n) O(n)
    优点 不会消耗内存 不阻塞客户端命令
    缺点 阻塞客户端命令 需要fork,消耗内存

    自动生成RDB

    修改配置文件,设置参数,不需要客户端执手动执行命令

    配置 seconds changes 解释(三个save规则,满足任意一个规则,便更新快照)
    save 900 1 间隔900秒新增有一条变化,更细快照
    save 300 10 间隔300秒发生10条变化,更新快照
    dave 60 10000 间隔60秒发生10000条变化,更新快照

    4.最佳配置

    save 900 1

    save 300 10

    save 60 10000

    dbfilename dump-${port}.rdb(这里可以针对多客户端,生成不同端口的快照文件)

    dir ./ 快照文件存放的目录

    stop-writes-on-bgsave-errors yes 当备份快照过程失败时,redis服务器停止处理任何请求

    rdbcomporession yes 压缩快照文件

    rdbchecksum yes 检验和

    5.其他不容忽略的触发机制

    • 全量复制:主从价格时,从服务器向master服务器发送sync命令,master服务器生成快照
    • debug reload:重启之前生成快照
    • shutdown:关掉服务器之前生成快照
  • 相关阅读:
    《你一定爱读的极简欧洲史》
    PAT 1051. 复数乘法
    PAT 1050. 螺旋矩阵
    PAT 1049. 数列的片段和
    PAT 1048. 数字加密
    PAT 1047. 编程团体赛
    PAT 1046. 划拳
    PAT 1045. 快速排序
    PAT 1044. 火星数字
    PAT 1043. 输出PATest
  • 原文地址:https://www.cnblogs.com/xiangdongsheng/p/13549277.html
Copyright © 2020-2023  润新知