Redisはキーの競合を解決します
2つ以上のキーがハッシュテーブル配列の同じインデックスに割り当てられている場合、これらのキーを衝突と呼びます。
Redisのハッシュテーブルは、個別のチェーンを使用してキーの競合を解決します。各ハッシュテーブルノードにはnext
ポインターがあり、複数のハッシュテーブルノードはnext
ポインターを使用して、同じインデックスに割り当てられる単一リンクリストを形成できます。ノード上の複数のノードを接続できます。この単一リンクリストを使用して、キーの競合の問題を解決します。
たとえば、プログラムがキーと値のペアのk2
合計をv2
図4-6に示すハッシュテーブルに追加し、計算されたk2
インデックス値を追加したいとすると2
、キーk1
と合計k2
は競合し、競合の解決策は次のようになります。next
ポインタ図4-7に示すように、キーを配置されk2
ているノードに接続します。k1
dictEntry
ノードで構成されるリンクリストにはリンクリストの最後へのポインタがないため、速度を上げるために、プログラムは常にリンクリストの先頭に新しいノードを追加し(複雑さは)、他のノードの前にランク付けします既存のノード。
詳細については、https://www.w3cschool.cn/hdcil/dkqjvozt.htmlを参照してください。
https://blog.csdn.net/qq_25484147/article/details/78641392
2