キャッシュ
Cache
元々は隠し場所という言葉の意味
基本的には、アクセス時間のかかる記憶装置にある情報、あるいは一度計算した情報を、アクセス速度の速い記憶装置(主にメモリ)に保持して再利用する。
遅い入出力、記憶装置、計算処理に対して、早い記憶装置上にデータを残しておくことで高速化を図る
メモ化の意味で使われることがある。
実データが変動する場合、実データとキャッシュとの間で必ず不整合になる期間がある。
実データが変動しない場合は単にアクセス速度が速くなるだけで安全。
どのデータをキャッシュするのが望ましいのか(再利用される可能性が高いのか)はキャッシュ側で知ることは困難。
キャッシュサイズを超えたデータが来ると、キャッシュがすべて洗われてしまい、キャッシュの意味がなくなってしまう。
LRUキャッシュでも、新着データは先頭ではなく中間当たりに挿入しておくと、キャッシュの半分は残り続けるようにはできる。しかし、この方法だと、使われないデータがそのまま前方に残り続ける可能性がある。
場当たり的にあちこちでキャッシュを行うと、データの更新がいつまでも起こらないようなことが起こる。(多段キャッシュ)
キャッシュ問題