我已经为使用redis的协作编辑程序ethercalc设置了服务器。一切正常,直到昨天服务器宕机。我进入服务器(Ubuntu 12.04.3),发现我正在运行的屏幕进程(一个用于ethercalc,一个用于redis)都已终止。我不确定为什么会这样。
当我开始备份它们时,我发现以前编辑过的电子表格已全部消失。 Redis的dump.rdb文件只有大约一千字节。可能会发生什么,我可以解决它,如何阻止它再次发生?
谢谢!
最佳答案
我不认为现在有任何方法可以恢复丢失的数据,但是对于将来,最好创建多个Redis实例并将一个声明为master实例,将其他声明为slave实例。该应用程序只需要与主服务器交互,Redis在从服务器之间异步复制数据方面做得很好。
在您松开主Redis节点的情况下,您可以将一个从服务器升级为主服务器,而将数据丢失降至最低。从Redis 2.8开始,还支持主-主复制。
Redis replication documentation提供了详细的解释。