说,我们有500GB的在线数据,所有这些数据都已保存为Redis,并具有将近10 ^ 8个键的设置。 不幸的是,设置的数据结构对系统不再适用,我们想迁移 所有集合都变成具有相同初始分数(如时间戳记)的zset。
我发现我们可以使用zinterscore new_zset 1 orig_set weights timestamp
命令来完成迁移。
这是否假设我们需要为上述转换临时将内存量扩展到1.0〜1.5TB。
但是这需要多长时间?有谁遇到过这种情况(在线数据结构发生变化)吗?
还是从根本上来说,我应该这样做?任何建议将不胜感激。
答案 0 :(得分:1)
我认为使用ZINTERSTORE
做这项工作不是一个好主意。正如您已经提到的那样,由于您的数据集非常大,它将占用过多的内存,并且会长时间阻塞您的Redis。
相反,您应该使用SSCAN
命令来迭代 SET ,并使用ZADD
命令将项目放入 SORTED SET 。>