首页 > 代码库 > Redis数据迁移

Redis数据迁移

Redis一般情况下都是作为缓存的,丢掉一些数据是没有关系的。但是我们的业务场景中将Redis做为了Session存储服务器,同时使用了twmproxy作为代理使用。

因为业务量的扩张我们要将现有的Redis集群数据迁移到新的集群中。由于使用了twmproxy就不能使用keys等方法直接从数据库进行全量dump。同时由于原来集群使用的是5台Redis服务器,而新集群有20台服务器,又不能使用简单的slaveof方法去迁移。同时对twmproxy代码的阅读分析发现,没有方法支持扩容自动迁移数据。


所以想到以下方案

  1. 写出一个假的Redis,只从原来的所有master上跟踪RDB以及后续的更新。

  2. 让该假Redis合并RDB的数据,并将RDB重放为Redis的指令。

  3. 让该假Redis连接新的集群,并进行指令的重放。


废话不说

具体代码会在https://github.com/DavidAlphaFox/redis_merger中放出。


Redis数据迁移