下:辞書

下:辞書

Redisの辞書は、辞書に依存して全体マップ、ハッシュ構造の基礎である、マッピングを獲得するZSET部材が辞書です。これは、辞書の基本的なセットですが、値はnullです。

拡張がプログレッシブ減容ハッシュの移行を必要とするため、辞書には、実際に、二つの内部ハッシュテーブルが含まれています。リンクリストコンポーネントの配列を追加することにより、ハッシュテーブル。

プログレッシブハッシュ

プログラム命令で再配置操作後のプログレッシブ焼き直しでは、また、辞書、そうでない場合はタイミングタスクをトリガするとき。

Redisの場合、拡張が(バックグラウンドの非同期データがディスクに保存)bgsaveある場合、ハッシュテーブルはすでに混雑していない限り、分離ページを最小限に抑えるために、拡大しないようにしようとします。良心の呵責なしBgsave時に減容。

トラバーサル

最初のトラバースに古い辞書を横断するときは、新しいを通過します。イテレータのセキュリティと不安イテレータ:2トラバーサルイテレータがあります。

セキュリティ見つけるために辞書のコースを反復して修正することができ、横断セキュリティは持続性に関わる要素の重複を許可しない、辞書の焼き直し、鍵の命令実行中に安全イテレータの使用を防止する際の要素は、繰り返されることはありません操作は、イテレータを使用しても安全になります。

安全でないイテレータは辞書引き要素は、スキャンコマンドとして、焼き直しを防ぐことはできませんが、繰り返されてもよいことができます。

ハッシュアルゴリズム

Redisのハッシュアルゴリズムは、キーはこれらの巨大な間にはほとんど差がある場合でも、ハッシュフラッディング攻撃に対して有効であるsiphashアルゴリズムを使用して、バイアスハッシュ関数を減らします。(共通ハッシュアルゴリズムがMD5でもあります)

おすすめ

転載: www.cnblogs.com/shizhuoping/p/11521175.html