美文网首页
【redis】redis持久化过程中临时转储文件

【redis】redis持久化过程中临时转储文件

作者: Bogon | 来源:发表于2022-01-16 00:02 被阅读0次

    在使用redis时,在dump.rdb 文件同目录下出现了temp-xxx.rdb文件怎么回事?

    当redis触发rdb的持久化之后,如果内存中的redis数据太大,会临时存储到temp-pid.rdb文件,最后再从temp-pid.rdb文件copy到你redis设置的rdb持久化文件中。

    查看redis进程

    $  ls -l   /proc/$(pidof redis-server)/cwd

    RDB 是基于时间的快照,只保留当前最新的一次快照。

     优点:执行的速度比较快

      缺点:可能丢失数据(从上次快照到当前快照未完成之间的数据)

    RDB 实现数据备份的过程:

     1.redis 从主进程中先fork 一个子进程,采用写时复制机制

     2.子进程将内存中的数据保存为一个临时文件,dump.rdb.temp,当数据保存完成之后再将上次保存的RDB 文件替换掉

     3.关闭子进程

    说明:  如果直接替RDB 文件的时候就可能会出现突然断电等问题而导致RDB 文件还么有保存完整就突然关机,从而导致数据的丢失,可以手动将每次生成的RDB 文件进行备份,这样可以最大化保存历史数据。

    参考

    Two rdb files in /var/lib/redis dir

    https://stackoverflow.com/questions/54824752/two-rdb-files-in-var-lib-redis-dir

    How to save only one database in Redis?

    https://stackoverflow.com/questions/44370279/how-to-save-only-one-database-in-redis

    Redis Persistence

    https://redis.io/topics/persistence

    相关文章

      网友评论

          本文标题:【redis】redis持久化过程中临时转储文件

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