0
我已经有一个redis节点,现在momery的成本很高,我想将其迁移到更多的实例。如果我在每个实例中加载rdb,它肯定会浪费很多。 我可以使用“密钥”来获取所有密钥,然后通过对密钥执行一致的散列来分解数据,但这非常丑陋......任何漂亮的解决方案?如何将redis实例迁移到n实例?
我已经有一个redis节点,现在momery的成本很高,我想将其迁移到更多的实例。如果我在每个实例中加载rdb,它肯定会浪费很多。 我可以使用“密钥”来获取所有密钥,然后通过对密钥执行一致的散列来分解数据,但这非常丑陋......任何漂亮的解决方案?如何将redis实例迁移到n实例?
如果你有配置了AOF的redis运行,你可以简单地写一个脚本来读取AOF。这就是我们所做的。在RDB配置中使用redis我不认为你可以这样做。
如果你正在运行Redis的2.6,你可以使用迁移命令:
http://redis.io/commands/migrate
你仍然需要KEYS
遍历键。
我不认为有一个更好的解决方案,遍历所有密钥与KEYS
,然后一致地哈希它们。
如果您不害怕直接与redis通信,您可以在阅读时处理KEYS *
的批量回复,以加快速度并节省内存。
我已经在aof和rdb都试过了。所有这一切运作良好。最后,我选择了aof,因为它可以在增加模式下完成。 – zhouzuan2k