2016-12-14 2 views
0

私は6つのノード(3つのマスタ、3つのスレーブ - クラスタが有効)を持つRedisの実装を持っています。私はすべてのマスターにキーの量をロードしています。1つの鍵をあるredisインスタンスから別の鍵にコピーする

だから、私の質問は:

それは127.0.0.1:30001から127.0.0.1:30002への一つのキーは、実際のコピーすることは可能ですか?例えば

は私のキーは、名前「とtestkey」を持っていることを言うことができます。私がこのキーを30001から30002にコピーすると、30001または30002からキーを取得したいとき、応答は両方の呼び出しで "testkey"の値をフェッチする必要があります。

答えて

0

いいえ、それは動作しません。クラスタ内

キーはスロットとスロットがマスタノードに割り当てられたハッシュに割り当てられます。キーの割り当ては、その名前(またはその中のハッシュタグ)をハッシュすることによって行われ、一貫性があります。つまり、指定されたキー名が常に同じスロットにハッシュします。

鍵は鍵空間に一度しか存在することができ、それが属するスロットは、マスタ間で移動することができます。そのキーから読み込みをスケールするには、該当するマスターのスレーブを使用します。 [チュートリアル](https://redis.io/topics/cluster-tutorial]

+0

を参照することにより、クラスタがどのように機能するかをされて理解を開始する

良い点は、[OK]を、私はスロットのassignementを理解しています。あなたの答えをありがとうございました。だから、コピーすることはできません30001から30002へのキー?このシナリオを想定します。私は30001に1つの鍵を何度もクライアントから要求しています。この鍵を30002にコピーし、30002で半分の要求をリダイレクトします。これは良い戦略です – Antonis

+0

クラスタ内のスロットを移動することはできますが、鍵はキースペース内に1回しか存在できません。つまり、それはできません.OTOHは、スレーブを使用することができますからも鍵を読み取ることができます。 –

+0

ありがとう、非常に役に立つ情報! – Antonis

関連する問題