/ var / lib / redis目录中的两个rdb文件

时间:2019-02-22 10:12:25

标签: redis

我想检查可用的redis个转储文件,所以在redis-cli中,我做了

127.0.0.1:6379> config get dir
1) "dir"
2) "/var/lib/redis"

还:

127.0.0.1:6379> config get databases
1) "databases"
2) "16"

在我的/var/lib/redis目录中,我发现了2个.rdb文件

root@docker-elk01:/var/lib/redis# ls -lh
total 4.4G
-rw-r--r-- 1 redis redis 4.4G Feb 22 04:27 dump.rdb
-rw-r--r-- 1 redis redis  28M Feb 22 12:10 temp-66388.rdb

我还注意到temp-文件来来往往。

为什么有2个文件?

我知道在我们的应用中,我们正在使用2个db,如下所示

127.0.0.1:6379> info keyspace
# Keyspace
db1:keys=262013,expires=0,avg_ttl=0
db10:keys=199,expires=199,avg_ttl=498984788

dump.rdb是否包括来自两个数据库的转储?

我可以选择性地禁用来自其中一个数据库的转储吗? (或两者皆有?)

1 个答案:

答案 0 :(得分:1)

  

为什么有2个文件?

temp-66388.rdb 是用于保存RDB文件的临时文件。将数据库保存到RDB文件时,Redis将创建一个具有进程ID的临时文件,并将数据库转储到该文件。如果成功转储数据库,则Redis将此临时文件重命名为 dump.rdb 。这就是临时文件来来往往的原因。

  

dump.rdb是否包含来自两个数据库的转储?

是。

  

我可以选择性地禁用来自其中一个数据库的转储吗? (或两者皆有?)

不,您不能这样做。您可以转储所有数据库,也可以完全不进行任何转储。还要检查this similar question