2012-11-13 103 views
0

我已經有一個redis節點,現在momery的成本很高,我想將其遷移到更多的實例。如果我在每個實例中加載rdb,它肯定會浪費很多。 我可以使用「密鑰」來獲取所有密鑰,然後通過對密鑰執行一致的散列來分解數據,但這非常醜陋......任何漂亮的解決方案?如何將redis實例遷移到n實例?

回答

1

如果你有配置了AOF的redis運行,你可以簡單地寫一個腳本來讀取AOF。這就是我們所做的。在RDB配置中使用redis我不認爲你可以這樣做。

如果你正在運行Redis的2.6,你可以使用遷移命令:

http://redis.io/commands/migrate

你仍然需要KEYS遍歷鍵。

我不認爲有一個更好的解決方案,遍歷所有密鑰與KEYS,然後一致地哈希它們。

如果您不害怕直接與redis通信,您可以在閱讀時處理KEYS *的批量回復,以加快速度並節省內存。

+0

我已經在aof和rdb都試過了。所有這一切運作良好。最後,我選擇了aof,因爲它可以在增加模式下完成。 – zhouzuan2k

相關問題