我使用的是redis服务器(v.2.4.6),在Windows 8计算机上启用了RDB持久性。我想模拟redis故障并重置,因此我对备份过程更有信心。
我已经找到了很多关于redis持久性和备份的信息,但是我无法弄清楚一旦发生故障该怎么做。
我尝试使用数据文件夹中的大量测试数据复制dump.rdb,然后卸载/重新安装redis,将原始dump.rdb文件粘贴到新数据文件夹中并运行。当我运行命令" keys *"时,它表示空列表或设置。
那么,我如何模拟redis数据库的故障然后恢复呢?
编辑:我在关闭redis之前覆盖了rdb文件,导致覆盖。现在,这些是我为模拟故障和备份而采取的步骤。
如果我删除rdb文件,我可以启动该服务,并在同一位置创建一个空的rdb文件。
这是它在redis.log文件中显示的内容:"无法处理RDB格式版本6",但两个数据库都使用完全相同的redis版本。
答案 0 :(得分:0)
查看SNAPSHOTTING
文件的redis.conf
部分。
您的rdb转储文件名和路径在那里定义(单独的参数)。
确保将转储放在正确的文件夹中并使用正确的名称,启动Redis时将进行恢复。
如何杀死Redis进程来模拟失败?
答案 1 :(得分:0)
我明白了。显然我的测试数据库使用了不同版本的redis(我认为它们是相同的)。我从测试数据库中获得了另一个使用v 2.4.6的rdb文件,所有内容都按预期加载。
答案 2 :(得分:0)
转到redis-stable目录并运行 ./src/redis-server
这对我有用。