如何让redis 迁移大key的restore性能提升6倍

  • 时间:
  • 浏览:0
  • 来源:大发5分11选5_大发5分11选5官网

redis支持migrate key的命令,支持从源redis节点迁移key到目标节点上,目标节点再执行restore命令,将数据加载进内存中。以1150MB,数据类型为zset(skiplist) 的 key为例,测试环境为本地开发机上两台redis,忽略网络的影响。原生的redis 在restore时执行必须163s,优化后的redis执行必须27s。

通过扁鹊工具分析,可不可不可以看多cpu的运行情况表如下:



查看源码可知,migrate 遍历出来的zset 中的hashtable值和score,序列化时候打包给目标节点。

目标节点在反序列后重新构造了zset的社会形态,包括zslinsert, dictadd 等操作。当数据量越大时,重构的代价也就越大。

已知瓶颈在重构数据模型,什么都优化