一貫性のある HASH アルゴリズムとは何ですか?
一貫性のある HASH アルゴリズムは、分散キャッシュの問題を解決するための特別な HASH アルゴリズムです。サーバーを削除または追加するときに、既存のサービスの変更を最小限に抑えることができます。マッピング関係リクエストとリクエストを処理するサーバーの間。
ハッシュ アルゴリズムの適応条件
バランス
バランスとは、ハッシュ結果を可能な限りすべてのバッファに分散できることを意味します。スペースを活用できます。多くのハッシュ アルゴリズムはこの条件を満たすことができます。
Monotonicity(単調性)
単調性とは、一部のコンテンツがハッシュを通じて対応するバッファに配布され、新しいバッファがシステムに追加された場合、ハッシュの結果が次のようになることを意味します。これにより、元の割り当てられたコンテンツが新しいバッファにマッピングされ、古いバッファ セット内の他のバッファにはマッピングされないようになります。 (この変換情報は負の値です。一貫性のあるハッシュは、バッファ サイズが変更されたときに、割り当てられたコンテンツが新しいバッファに再マップされないように保護しようとします。)
Dispersion( Spread)
分散型環境によっては、端末はすべてのバッファを認識するわけではなく、一部のみを認識する場合があります。端末がハッシュ プロセスを通じてコンテンツをバッファにマッピングすることを希望する場合、異なる端末で認識されるバッファ範囲が異なる可能性があり、その結果、一貫性のないハッシュ結果が生じ、最終的には、同じコンテンツが異なる端末によって異なるバッファにマッピングされることになります。バッファー。この状況は明らかに避けるべきです。同じコンテンツが異なるバッファに格納され、システム ストレージの効率が低下するからです。分散は、上記の発生の重大度として定義されます。優れたハッシュ アルゴリズムでは、不一致を可能な限り回避できる、つまり分散を可能な限り低減できる必要があります。
荷重
荷重の問題は、実際には分散の問題を別の角度から見たものです。異なる端末は同じコンテンツを異なるバッファにマッピングすることができるため、異なるユーザによって特定のバッファが異なるコンテンツにマッピングされることもある。分散と同様に、この状況も回避する必要があるため、適切なハッシュ アルゴリズムを使用してバッファの負荷を最小限に抑える必要があります。
推奨チュートリアル: 「PHP チュートリアル 」
以上が一貫した HASH アルゴリズムとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。