無論是哪一層次的緩存都面臨一個同樣的問題:當容量有限的緩存的空閑空間全部用完后,又有新的內容需要添加進緩存時,如何挑選并舍棄原有的部分內容,從而騰出空間放入這些新的內容。解決這個問題的算法有幾種,如最近使用算法(LRU)、先進先出算法(FIFO)、最近最少使用算法(LFU)、非最近使用算法(NMRU)等,這些算法在不同層次的緩存上執(zhí)行時擁有不同的效率和代價,需根據具體場合選擇最合適的一種。

最近使用算法, 顧名思義,可以將其理解為如果數據最近被訪問過,那么將來被訪問的幾率也很高。它的實現有多種方式,比如LRU、LRU-K、Two queuesMutiple queues等。

LRU

網友評論