1

これらのサーバーの動的にインスタンス化されたクラスターで Node + Redis を使用しています。これらのサーバーが (別の vm で) インスタンス化されている場合、データベースを分割したいと考えています。キーを適切なサーバーに向けるハッシュリング機能があります。
ストア内のすべてのキーを反復処理するにはどうすればよいですか?
次に、ハッシュリングを介してそのキーをプッシュするとき、無限ループを引き起こさずに現在のサーバーにプッシュバックされたキーをどのように処理しますか?
ローカルに新しい redis インスタンスが必要ですか? 操作が終了したら古いものを殺しますか?ノード redis クライアントがこの操作を行う方法はありますか?

4

1 に答える 1

2

残念ながら、これまで Redis には適切なキースペースの反復処理がありません。次の 2 つのオプションがあります。

  • RANDOMKEY を使用して、データセットをランダムにサンプリングします。
  • ブロックしている KEYS * を使用しますが、サーバーを数秒間ブロックできる場合はトリックを実行できます。

キーをアトミックに移動するには、Redis 2.6 を使用している場合は MIGRATE を使用できますが、クラスターのセットアップは質問で明確に指定されておらず、適切な Redis クラスターを設計するには詳細がいっぱいです。

ここで Redis クラスターの仕様を読むことをお勧めします: http://redis.io/topics/cluster-spec そして、最終的に整合性のある Redis クラスターのクライアント側の作成に関する次のブログ投稿: http://antirez.com/news/ 36

于 2012-11-13T19:30:26.883 に答える