2016-09-14 76 views
0

我有多个redis实例。我使用不同的端口创建了一个集群。现在我想将预先存在的redis实例中的数据传输到集群。我知道如何将数据从一个实例传输到群集,但是当实例数量多于一个时,我无法做到这一点。将数据从redis独立实例移动到redis集群

+0

我发现的最佳策略是使用redis-trib migrate命令。但是这会从独立的redis实例中删除数据。因此,您可以先创建redis独立实例的从属服务器,将其配置从只读更改为读写,然后使用redis-trib migrate命令而不丢失任何数据。无论如何感谢回复 – user1973987

回答

0

您需要为您的redis集群定义某种分片策略。 Database Sharding所以基本上你需要有一定的一致的散列策略,它将决定你的集群中的关键,碎片或redis实例密钥将会去。您需要为此数据迁移制定一个特定脚本,该脚本将包含群集中所有redis实例的数组。

然后,对于从独立redis中读取的给定密钥,您将使用散列机制从您之前维护的列表中找出分片索引或redis实例,并相应地将数据写入群集节点。我的所有假设都是你有一个内部redis集群设置,而不是Redis Labs提供的设置。