美文网首页
redis的RDB持久化的配置以及工作流程

redis的RDB持久化的配置以及工作流程

作者: G__yuan | 来源:发表于2021-07-10 15:50 被阅读0次

    RDB持久化的配置

    在redis.conf中也就是我们上面的安装的时候拷贝到/etc/redis 目录下的6379.conf文件,中找到 save属性,然后配置为:

    save 60 10000
    

    这个属性配置的含义是:每隔60s,如果有超过1000个key发生变更,那么就生成一个新的dump.rdb文件,就是当前redis内存中完整的数据快照,这个操作也称之为:snapshotting,这个也可以通过手动执行save 或者bgsave命令设置。

    这个可以配置多个,默认就是配置的多个,如下图;设置多个,就是多个snapshotting检查点,每到一个检查点,就会去check一下,看是否有指定的key数量发生了变化,如果有那么就生成一个新的dump.rdb文件。


    image.png

    RDB持久化机制的工作流程

    (1)redis根据配置自己去生存rdb快照文件
    (2)fork一个子进程出来。
    (3)子进程尝试将数据dump到临时的rdb文件中。
    (4)完成rdn快照文件的生成之后,就会去替换旧的快照文件。

    手动去尝试实验一下

    (1)手动通过save命令将数据保存,然后kill -9 杀死redis进程,这样再看存储持久化文件的目录里面会有一个dump.rdb文件,然后再启动redis,再访问存储的key值,将会得到value。
    (2)将上面的快照文件删除,然后启动redis,此时redis中的数据为空,然后随便set几个值进去,然后我们通过redis-cli shutdown命令来优雅的关闭redis,然后再重启redis,发现刚才存进去的值还在,在看存储文件的目录,发现生成了一个快照文件,此时就说明如果使用shutdown命令优雅的关闭redis,redis自己会在关闭之前将数据刷入快照文件中。

    相关文章

      网友评论

          本文标题:redis的RDB持久化的配置以及工作流程

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