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