こんな簡単な質問で本当にごめんなさい。FIFOキャッシュモデルを正しく理解していることを確認したいだけです。誰かがそれを手伝ってくれることを願っています:)LRUキャッシュは、キャッシュがいっぱいの場合に最も最近アクセスされたエントリを削除します。キャッシュに空き領域が必要な場合(たとえば、「a」-「v」-「f」-「k」がキャッシュ内のエントリで、「a」が最も古いエントリの場合、キャッシュは空き領域が必要な場合は「a」を削除します)。
私は正しいですか?
こんな簡単な質問で本当にごめんなさい。FIFOキャッシュモデルを正しく理解していることを確認したいだけです。誰かがそれを手伝ってくれることを願っています:)LRUキャッシュは、キャッシュがいっぱいの場合に最も最近アクセスされたエントリを削除します。キャッシュに空き領域が必要な場合(たとえば、「a」-「v」-「f」-「k」がキャッシュ内のエントリで、「a」が最も古いエントリの場合、キャッシュは空き領域が必要な場合は「a」を削除します)。
私は正しいですか?
あなたは正しいです。
FIFOは、トンネルを通過する車と考えてください。トンネルに最初に入る車は、反対側に出る最初の車になります。
LRUキャッシュは、ガレージをクリーンアップするものと考えてください。長期間使用しなかったものは捨て、よく使うものはそのままにしておきます。そのアルゴリズムの進化(単純なLRUの改善)は、長期間使用されていないアイテムを破棄することであり、結局のところ、必要になった場合に交換するのに費用がかかりません。
はい、LRUキャッシュは、キャッシュ内のオブジェクトの最新の使用に基づいていますが、FIFOは、オブジェクトがキャッシュされた時間に基づいています。
はい、その通りです。FIFOとは、先入れ先出しを意味します。つまり、要素を厳密に到着順に検討(この場合は削除)します。LRUは最も最近使用されていないため、最も長く使用されていないキャッシュ要素が削除されます(すぐには必要ないという予感があります)。