美文网首页redis
Redis的持久化

Redis的持久化

作者: 念䋛 | 来源:发表于2021-07-02 22:44 被阅读0次

    Redis的持久化分为rdb(快照) aof(append-only file) 和rdb和aof混合模式
    Rdb默认情况下存储的名称为 dump.rdb的二进制文件
    设置
    save 900 1 900秒内有一个key改动则保存
    save 300 10 30秒内有10个key改动则保存
    save 60 10000 60秒内10000个key改动则保存
    也可以手动的改动 save和bgsave,每次的保存都会覆盖原有的rdb快照


    image.png

    Rdb快照存储虽然是二进制存储占用空间小,但是存在数据丢失的风险,比如60秒之内10000个key改动保存,如果59秒宕机了那59秒内发生的数据变化就丢失了,所以aof就诞生了,
    Aof持久化可以将修改的每一条写指令或者一秒中的写指令记录到appendonly.aof中,aof的文件是明文所以aof的文件大,并且redis启动的时候恢复数据慢
    appendonly.aof的内容


    image.png
    *3带面执行的个数 sadd set b 三个 sadd一个 set 一个 b一个 共三个
    $4 sadd 4个字母

    Aof的共有三个选项将数据持久化模式
    always 每次更新都会追加到aof文件中
    everysec 每秒记录一次,可能会丢失一秒的数据
    no将数据交给系统来执行,效率高但是最不安全
    aof可以重写,重写的概念就是比如将helloredis这个key 连续6次的加1,那重写之后就是直接将helloredis赋值为6,这样减少了aof的占用空间当然redis恢复的时候也更快
    重写的两个参数
    auto‐aof‐rewrite‐min‐size 64mb //aof文件至少要达到64M才会自动重写,文件太小恢复速度本来就 很快,重写的意义不大
    auto‐aof‐rewrite‐percentage 100 //aof文件自上一次重写后文件大小增长了100%则再次触发重写


    image.png

    混合模式

    aof‐use‐rdb‐preamble yes 开启混合模式

    混合模式的文件依然是appendonly.aof文件,混合模式发生在aof的重写阶段,redis会新开启一个线程,将已有的aof文件转化为rdb文件,下一刻的命令依然是aof模式增量存储,当然rdb依然存储在aof文件中, 混合模式的appendonly.aof存储的结构就是一部分是rdb一部分是aof

    相关文章

      网友评论

        本文标题:Redis的持久化

        本文链接:https://www.haomeiwen.com/subject/ubwyultx.html