0

Redis 環境では、次のようなコマンドに精通しています。

:キー *

:パターンを取得

しかし、これらはクラスターでは簡単に機能しません。

「keys *」の回避策を見つけました(遅いですが)。しかし、私は「パターンを取得」で立ち往生しています

私の理解によると、なぜそれがうまくいかないのかという理由は..

各 redis ノードはアルゴリズムを使用して任意のキーのハッシュを見つけ、どのノードがどのハッシュ ブロックを所有しているかを既に認識しています。そのため、呼び出し (get/set/hmget/.....) をその特定のノードにリダイレクトします。

パターンの場合、実際のキーを取得するまで、 hash の所有者を特定する方法がありません。

キーが xyz で、xy* を使用するとそのハッシュが 100 であると仮定すると、xy で始まるキーのハッシュの可能なリストを取得する方法はありません

誰かがここで光を示すことができるかどうか、または私の理解が間違っているかどうか(そうであればうれしいです)、または私の要件に適したツール(jedisのような...)が利用できるかどうか疑問に思っていました

ありがとう !

4

1 に答える 1

1

:キー *

本番環境では絶対に使用しないでください。

:パターンを取得

Redis にはそのようなものはありません。

あなたの質問に答えるには、クラスター内の各ノードに接続し、それぞれで個別にキーを探す必要があります。SCAN

于 2017-02-08T12:48:28.860 に答える