無論是哪一層次的緩存都面臨一個同樣的問題:當容量有限的緩存的空閑空間全部用完后,又有新的內(nèi)容需要添加進緩存時,如何挑選并舍棄原有的部分內(nèi)容,從而騰出空間放入這些新的內(nèi)容。解決這個問題的算法有幾種,如最近使用算法(LRU)、先進先出算法(FIFO)、最近最少使用算法(LFU)、非最近使用算法(NMRU)等,這些算法在不同層次的緩存上執(zhí)行時擁有不同的效率和代價,需根據(jù)具體場合選擇最合適的一種。
最近使用算法, 顧名思義,可以將其理解為如果數(shù)據(jù)最近被訪問過,那么將來被訪問的幾率也很高。它的實現(xiàn)有多種方式,比如LRU
、LRU-K
、Two queues
、Mutiple queues
等。
網(wǎng)友評論