Redis にはスロットがいくつありますか?

anonymity
リリース: 2019-06-05 10:42:46
オリジナル
3574 人が閲覧しました

Redis クラスターには 16384 のハッシュ スロットが組み込まれています . Redis クラスターにキーと値を配置する必要がある場合、Redis はまず crc16 アルゴリズムを使用してキーの結果を計算し、次には、16384 Remainder に対する結果を計算します。これにより、各キーは 0 ~ 16383 の番号が付いたハッシュ スロットに対応し、redis はノードの数に応じてハッシュ スロットを異なるノードにほぼ均等にマップします。 Redis クラスターは一貫したハッシュを使用しませんが、ハッシュ スロットの概念を導入します。

Redis にはスロットがいくつありますか?

Redis クラスターには 16384 のハッシュ スロットがあります。各キーは CRC16 検証後に 16384 を法としてチェックされ、どのスロットに配置するかを決定します。クラスター内の各ノードは、次の部分を担当します。ハッシュグルーヴ。この構造により、ノードの追加または削除が簡単になり、ノードが追加、削除、または変更されても、クラスターが使用できなくなることはありません。

ハッシュ スロットを使用する利点は、ノードを簡単に追加または削除できることです。

ノードを追加する必要がある場合は、他のノードのハッシュ スロットの一部を新しいノードに移動するだけで済みます。

ノードを削除する必要がある場合は、削除されたノードのハッシュ スロットを他のノードに移動するだけです。

#現時点では、将来ノードを追加または削除するときにすべての Redis サービスを停止する必要はありません。

redis では、キーと値のペアを配置する最も簡単な方法は、以下に示すようにキー値を設定することです。

127.0.0.1:7000> set key value
-> Redirected to slot [12539] located at 192.168.39.153:7002
OK
192.168.39.153:7002> get key
"value"
192.168.39.153:7002>
ログイン後にコピー

キーを設定するとき、次のことがわかります。値から値へ、クライアントは別のノード 192.168.39.153:7002 にリダイレクトされました。これは、キーに対応するスロットが 12359 であるため、キーと値は 12359 に対応するスロットに配置されます。ノード、192.168.39.153:7002 。

Redis Cluster は一貫性のあるハッシュを使用せずに私が作成した crc16 の単純なハッシュ アルゴリズムです。 Redis の作成者は、その crc16(key) mod 16384 の効果がすでに良好であると信じています。整合性ハッシュほど柔軟ではありませんが、実装は非常に簡単で、ノードの追加または削除時の処理も非常に便利です。 。

ノードの追加や削除時にデータが失われないことは、ハッシュ アルゴリズムとは関係ありません データを失わないために必要なのは、1 つのデータが複数のコピーを持つことです。

Redis クラスターにキーを追加すると、crc16(key) mod 16384 に従ってキーがどのハッシュ スロットに配布されるかが計算され、ハッシュ スロットには多数のキーと値が存在します。 。テーブル パーティションとして理解できます。単一ノードで Redis を使用する場合、テーブルは 1 つだけあり、すべてのキーはこのテーブルに配置されます。Redis Cluster に切り替えると、16384 個のパーティション テーブルが自動的に生成されます。上記の単純なアルゴリズムにより、キーがどのパーティションに存在する必要があるかが決まります。各パーティションには多数のキーがあります。

以上がRedis にはスロットがいくつありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!