2012-11-13 48 views
0

我已经有一个redis节点,现在momery的成本很高,我想将其迁移到更多的实例。如果我在每个实例中加载rdb,它肯定会浪费很多。 我可以使用“密钥”来获取所有密钥,然后通过对密钥执行一致的散列来分解数据,但这非常丑陋......任何漂亮的解决方案?如何将redis实例迁移到n实例?

回答

1

如果你有配置了AOF的redis运行,你可以简单地写一个脚本来读取AOF。这就是我们所做的。在RDB配置中使用redis我不认为你可以这样做。

如果你正在运行Redis的2.6,你可以使用迁移命令:

http://redis.io/commands/migrate

你仍然需要KEYS遍历键。

我不认为有一个更好的解决方案,遍历所有密钥与KEYS,然后一致地哈希它们。

如果您不害怕直接与redis通信,您可以在阅读时处理KEYS *的批量回复,以加快速度并节省内存。

+0

我已经在aof和rdb都试过了。所有这一切运作良好。最后,我选择了aof,因为它可以在增加模式下完成。 – zhouzuan2k

相关问题