一尘不染

redis:备份dump.rdb

redis

语境

我有一个正在运行的Redis服务器。

我要备份。

理念:

我要执行以下操作:

cp dump.rdb ~/some-other-location/06-24-2012.rdb ?

关心

我没有看到任何可以向我保证dump.rdb始终是一致的数据库存储的东西。(在我看来,当我执行cp时,redis在写入某些数据的过程中途处于中间状态,因此dump.rdb处于不一致状态。)

问题:

这很不好,因为我现在必须关闭redis db才能制作dump.rdb的副本。

题:

在Redis服务器运行时,进行数据库实时备份的正确方法是什么?手册的哪一部分向我保证,此方法将创建处于一致(而非半写)状态的数据库。

谢谢!


阅读 337

收藏
2020-06-20

共1个答案

一尘不染

来自http://redis.io/topics/persistence

Redis非常便于数据备份,因为您可以在数据库运行时复制RDB文件:RDB一旦生成就永远不会被修改,而RDB在生成时会使用一个临时名称,并且仅使用rename(2)原子地重命名为其最终目标新快照完成后。

因此,正确的方法是简单地将dump.rdb复制到您的备份位置。

2020-06-20