キャッシュ更新アルゴリズム

1.FIFO(First In First Out)

 最初に入ったものから、最初に追い出す
   最後にいつ使おうと、何回使おうと、とにかく入った古い順に追い出す

2.LIFO(Last In First Out)

  最後に入ったものから最初に追い出す

3.LRU(Least Recently Used)

 最後に使われたのが最も古い順に追い出す
   最後に使ってからの期間が一番長いものから順に追い出す

 キャッシュがいっぱいになった時に
   最も長い時間アクセスされていないキャッシュ内の要素を削除する
     最も長い間使用されていない要素は
     近い将来に使用される可能性が低いとする

 利点
   実装が単純、幅広いソフトウェアで活用されている
   アクセス頻度の管理が必要ないため、コストを低く抑えることができる

 欠点
   価値の低い要素が繰り返しキャッシュに流入すると、
     価値の高い要素であってもキャッシュから押し出してしまう

4.LFU(Least Frequently Used)

 使った回数が少ない順に追い出す

 利点
   アクセス頻度が時間とともに変化しない場合、
     アクセス頻度の高いデータを効果的にキャッシュ内に保持できる

 欠点
   アクセス頻度が時間とともに変化しない場合、
     現在アクセス頻度が減少した要素がキャッシュから削除されない