提到缓存,有两点是必须要考虑的: (1)缓存数据和目标数据的一致性问题。 (2)缓存的过期策略(机制)。 其中,缓存的过期策略涉及淘汰算法。常用的淘汰算法有下面几种: (1)FIFO:First In First Out,先进先出 (2)LRU :Least Recently Used, 最近最少使用 (3)LFU :Least Frequently Used,最不经常使用
注意LRU和LFU的区别。
LFU算法:是根据在一段时间里数据项被使用的【次数】 选择出最少使用的数据项,即根据使用次数的差异来决定。 而LFU关键是看一定时间段内页面被使用的【频率】!
LRU算法 :是根据使用时间的差异来决定的。 可见LRU关键是看页面最后一次被使用到发生调度的时间长短。
一个优秀的缓存框架必须实现以上的所有缓存机制。例如:
Ehcache
就实现了上面的所有策略。
转载请注明原文地址: https://www.6miu.com/read-41114.html