提到緩存,有兩點(diǎn)是必須要考慮的:
(1)緩存數(shù)據(jù)和目標(biāo)數(shù)據(jù)的一致性問題。
(2)緩存的過期策略(機(jī)制)。
其中,緩存的過期策略涉及淘汰算法。常用的淘汰算法有下面幾種:
(1)FIFO:First In First Out,先進(jìn)先出
(2)LRU:Least Recently Used,最近最少使用
(3)LFU:Least Frequently Used,最不經(jīng)常使用
注意LRU和LFU的區(qū)別。LFU算法是根據(jù)在一段時(shí)間里數(shù)據(jù)項(xiàng)被使用的次數(shù)選擇出最少使用的數(shù)據(jù)項(xiàng),即根據(jù)使用次數(shù)的差異來決定。而LRU是根據(jù)使用時(shí)間的差異來決定的。
一個(gè)優(yōu)秀的緩存框架必須實(shí)現(xiàn)以上的所有緩存機(jī)制。例如:Ehcache就實(shí)現(xiàn)了上面的所有策略。
(友情提示:本博文章歡迎轉(zhuǎn)載,但請(qǐng)注明出處:hankchen,http://www.aygfsteel.com/hankchen)