キャッシュプロセスフロー
、バック既存のキャッシュデータを取るために以下のデータベースから取得したときよりもどちらかのリターンの直接の結果を、取るために、キャッシュを更新するために取られたデータベース、および結果を返す受信要求、データベースが直接空の結果を返すことに取得できませんでした。
キャッシュの浸透
コンセプト:データベース内にデータが存在しないが、キャッシュにデータがありません。
脅威は:ユーザーが存在しない要求IDを開始するとき(例えば、ID = -1)、この時点で、データベースは、過度の圧力が発生します。
解決策:使用のブルームフィルタ(ブルームフィルタ)
Googleのグアバのパッケージを使用することができ、また、1つを自分で実装することができます。
ブルームフィルタは、そのメモリの問題を心配していない、少ないメモリを消費します。
ブルームフィルタの紹介:ブルームフィルタとフォールトトレランス数の期待値を与えることを追加しました。これは、自動的に生成されたハッシュ関数のブルームフィルタ配列の長さの数とすることができます。
たとえば、次のときに最初ブルームフィルタを介してユーザ要求、。100ワット与えられたデータは、ブルームフィルタ0.001に格納され、フォールトトレランスが、10を介してアクセスブルームフィルタを要求するだけかもしれれます。10または缶ことによってそれを行う訪問の数が多い、に基づい。このプログラムは、悪質なリクエストが崩壊を引き起こし解決することができます。
キャッシュの内訳
コンセプト:データベースにデータを持っているが、キャッシュにデータがありません。
脅威:データベースへのデータの読み取り中に同時ユーザーの特に多数、キャッシュからデータを読み出さないが、しかし、データベースは、瞬間的な圧力が増加すると、プログラムのクラッシュを引き起こします。
ソリューション:ミューテックスを追加します。
キャッシュ雪崩
コンセプト:同時に、キャッシュミス、バックエンドデータベースへのフルアクセス。
解決法:1)有効期限キャッシュされたデータは、データの多くは、現象を期限切れと同じ時間を防ぐために、ランダムに設定します。
キャッシュデータベース展開を分散された場合2)、ホットデータが一様に異なるキャッシュデータベースに分布(整合性ハッシュアルゴリズム)
これは、異なるホットデータキャッシュデータベース(整合性ハッシュアルゴリズム)に均等に分布し、分散配置され