Redisはキーの競合を解決します

Redisはキーの競合を解決します

2つ以上のキーがハッシュテーブル配列の同じインデックスに割り当てられている場合、これらのキーを衝突と呼びます。

Redisのハッシュテーブルは、個別のチェーンを使用してキーの競合を解決します。各ハッシュテーブルノードにはnextポインターがあり、複数のハッシュテーブルノードはnextポインターを使用して、同じインデックスに割り当てられる単一リンクリストを形成できます。ノード上の複数のノードを接続できます。この単一リンクリストを使用して、キーの競合の問題を解決します。

たとえば、プログラムがキーと値のペアのk2合計をv2図4-6に示すハッシュテーブルに追加し、計算されたk2インデックス値を追加したいとすると2、キーk1と合計k2は競合し、競合の解決策は次のようになります。nextポインタ図4-7に示すように、キーを配置されk2ているノードに接続します。k1

dictEntryノードで構成されるリンクリストにはリンクリストの最後へのポインタがないため、速度を上げるために、プログラムは常にリンクリストの先頭に新しいノードを追加し(複雑さはO(1)、他のノードの前にランク付けします既存のノード。

詳細については、https://www.w3cschool.cn/hdcil/dkqjvozt.htmlを参照してください。

https://blog.csdn.net/qq_25484147/article/details/78641392

2

おすすめ

転載: blog.csdn.net/m0_54853503/article/details/124015033