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

最近使用算法, 顧名思義,可以將其理解為如果數(shù)據(jù)最近被訪問(wèn)過(guò),那么將來(lái)被訪問(wèn)的幾率也很高。它的實(shí)現(xiàn)有多種方式,比如LRULRU-K、Two queues、Mutiple queues等。

LRU

網(wǎng)友評(píng)論