0

在 REDIS DB 上执行 CRUD 操作时,必须指定在对键/值进行操作时应用的数据库。我想知道是否可能对某个指定数据库的键/值进行快照(持久化)而不是为其他数据库?

我喜欢使用一个数据库来管理序列化设置,但使用另一个数据库来存储集合数据,这些数据也可以从 R 内部访问,但应该严格在内存中且非持久化。

谢谢

4

2 回答 2

2

TL:博士;您不能为一个数据库启用快照,而不能为其他数据库启用快照。

在这种情况下(处理多个工作流时)最好的办法是使用自己的配置生成 2 个 redis 服务器。

然后,您将能够设置一个没有持久性的 Redis 服务器(严格在内存中)(save "")和另一个具有细粒度持久性的 Redis 服务器,具体取决于您的写入使用情况。

请参阅Redis-conf

################################ SNAPSHOTTING  #################################
#
# Save the DB on disk:
#
#   save <seconds> <changes>
#
#   Will save the DB if both the given number of seconds and the given
#   number of write operations against the DB occurred.
#
#   In the example below the behaviour will be to save:
#   after 900 sec (15 min) if at least 1 key changed
#   after 300 sec (5 min) if at least 10 keys changed
#   after 60 sec if at least 10000 keys changed
#
#   Note: you can disable saving at all commenting all the "save" lines.
#
#   It is also possible to remove all the previously configured save
#   points by adding a save directive with a single empty string argument
#   like in the following example:
#
#   save ""
于 2013-03-04T11:55:49.663 回答
1

不,当redis持久化到磁盘时,它会将整个数据集持久化到磁盘。此外,不推荐使用多数据库配置,因此我建议不要依赖它。

于 2013-03-04T11:54:16.837 回答