启动后Redis是空的,尽管有一个.rdb文件

时间:2015-01-20 15:01:25

标签: redis startup

在我的redis-cli中运行“shutdown save”后,等待“save”命令完成(跟随redis日志)并备份我的redis .rdb文件,我尝试从开始时启动redis服务器它以空DB(dbsize = 0 !!!)开始。

我该怎么办?如何从.rdb文件恢复我的redis?

4 个答案:

答案 0 :(得分:2)

我建议检查以下内容:

  1. 在配置文件中,检查dirdbfilename属性是否反映了您希望找到.rdb文件的磁盘位置和文件名(以及当然要验证正确的.rdb文件是否在预期的路径上。

  2. 在服务器日志中,启动Redis服务时,查看是否看到类似于DB loaded from disk: x.xxx seconds的日志消息。如果消息没有出现,或者消息显示的内容非常接近0.000 seconds(这可能不是从磁盘加载11 GB .rdb文件的合理期望运行时),那么可能另一个提示是您的配置没有在正确的位置查找.rdb文件。

答案 1 :(得分:0)

问题出在我的配置文件中。我将名为.rdb的{​​{1}}文件保存为tal.rdb,因此无法生效。 然后,我再次启动了我的Redis服务器,看到它有0个密钥,插入old-tal.rdb个密钥并运行10000命令,结果,我看到它创建了一个文件{{ 1}}(Redis save"的默认dump.rdb)在正确的目录路径中,虽然在配置文件中dbfilename.rdb files,所以我理解我的配置文件是坏。为了解决这个问题,我用备份文件替换了配置文件,并使用dbfilename的副本重新启动了我的Redis,然后它正确启动(10M密钥)。 谢谢大家!

答案 2 :(得分:0)

我遇到了同样的问题。  " Db加载0.000秒" .and Key *显示空列表。

解决此问题

  1. 创建了dump.rdb文件的备份。
  2. 停止服务器。
  3. 从redis / dump.rdb中删除了dump.rdb文件。
  4. 将备份复制到redis文件夹

    sudo cp dump.rdb /etc/redis/dump.rdb

  5. 重启服务器

    127.0.0.1:6379>KEYS *

  6. 有效。

答案 3 :(得分:0)

我在服务器迁移中遇到了同样的问题。我在redis.conf中检查了<FormControl required fullWidth={true} size="small"> <InputLabel htmlFor="name" style={{color: "#000"}}>Тема обращения</InputLabel> <Select variant="filled" style={{backgroundColor: "rgb(232, 241, 250)"}} value={props.selectedTheme?.id || ''} onChange={(e) => handleChange(e)}> {props.themes.map(t => (<MenuItem key={t.id} value={t.id}>{t.name}</MenuItem>))} </Select> </FormControl> dir指令太多次了,但是没有加载密钥。以我的经验,在服务器迁移中,应按顺序传递以下步骤:

  1. 在源服务器中转储密钥(使用保存命令)
  2. 在目标服务器中转储密钥
  3. 将目标服务器中的* .rdb文件与源服务器中的一个交换。
  4. 在目标中重置Redis服务。

别忘了第2步。

注意:步骤3将删除目标服务器中的密钥,这些步骤仅用于服务器迁移。

不要忘记在redis.conf中检查dbfilenamedbfilename指令。