Codis 的异步迁移能力还挺能打的,是面对大规模数据时,感觉到效率提上去了。它的底层其实就是 Redis 集群,只不过多了个中间件做统一代理,用起来更省心。
你要是经常搞 Redis 扩容、数据均衡迁移之类的活儿,这套机制真的可以帮你省不少事。比如以前用SLOTSMGRTONE
迁一个 key,还得盯着结果,现在直接加个-ASYNC
后缀,迁的时候你可以干别的,迁完它自己通知你。
迁移过程也不复杂,就是分几步走:编码、传输、解码、删除,听起来多,其实逻辑挺清楚。网络延迟、并发度这些影响也说得到位,办法就更接地气了——加异步、升级 Redis、调代码,都是你平时能做的优化。
还有一点值得说,Codis 推荐用 Redis 3.2.8 这个版本不是没有道理的,这版本的兼容性和性能真的不错。我自己测下来,同样的键值对迁过去,响应也快,出错率也低。
如果你打算把 Redis 做得更可控,或者想找个比较靠谱的分布式方案搞迁移,Codis 这一套还蛮推荐的。顺手附上几个相关资源,你可以深入看看。