redis的RDB和aof持久化配置

 阅读约 2 分钟
rdb配置
  • rdb的配置可以在redis的配置文件redis.conf中进行配置(注意: 要用实际用到的redis配置文件配置, 不要修改错位置):

    save 900 1
    save 300 10
    save 60 10000

    以上就是rdb在配置文件中的样子, 他表示每个隔900秒有一条数据发生变更即进行保存, 以此类推下面的也是这个意思;

  • rdb的每次生成一个新的快照, 都会讲旧的快照删掉;
aof配置
  • aof默认是关闭的, 如果想要打开, 也是在redis的配置文件redis.conf中进行配置, 如果想要打开, 则可以在配置文件中查找appendonly, 修改为如下:
    appendonly yes
    生产环境下一般都是打开的;
  • aof刷新的时间间隔配置appendfsync, 有三种配置方式:

    • always: 每一条都写入磁盘, 对数据进行保存, 对性能影响较大;
    • everysec: 每秒写入磁盘一次, 对性能影响较小;
    • no: 不进行设置, 让操作系统自动保存;
  • aof的rewrite过程:

    • redis创建一个子进程;
    • 子进程根据当前redis的数据, 重新写一份aof文件;
    • 与此同时, redis的主进程继续接受写入的数据并写入内存中的日志, 同时新的日志也会追加到旧的aof文件中;
    • 子进程写完新的aof文件之后, redis会将内存中的新数据的日志追加到新的aof文件中;
    • 最后用新的aof文件替换旧的aof文件;
  • rewrite操作的配置
    auto-aof-rewrite-percentage 100
    auto-aof-rewrite-min-size 64mb
    第一个表示: aof文件的容量超过原来aof文件容量一倍的时候, 进行aof文件的重写;
    第二个表示: 执行aof重写时, aof文件的最小容量;
阅读 165发布于 1月13日

推荐阅读
目录