如何将redis实例迁移到n实例?

时间:2012-11-13 15:00:04

标签: redis cluster-computing migrate

我已经有一个redis节点,现在momery的成本很高,我想将它迁移到更多实例。如果我在每个实例中加载rdb,它必须浪费很多。 我可以使用“keys”获取所有密钥,然后通过对密钥执行一致哈希来分片数据,但这非常难看......任何美丽的解决方案?

1 个答案:

答案 0 :(得分:1)

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

如果您正在运行redis 2.6,则可以使用migrate命令:

http://redis.io/commands/migrate

您仍然需要使用KEYS迭代密钥。

我认为有一个更好的解决方案是使用KEYS迭代所有密钥,然后一致地哈希它们。

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