提到缓存,有两点是必须要考虑的:
( 1 )缓存数据和目标数据的一致性问题。
( 2 )缓存的过期策略(机制)。
其中,缓存的过期策略涉及淘汰算法。常用的淘汰算法有下面几种:
( 1 ) FIFO : FirstIn First Out ,先进先出
( 2 ) LRU : LeastRecently Used ,最近最少使用
( 3 ) LFU : LeastFrequently Used ,最不经常使用
注意
LRU
和
LFU
的区别。
LFU
算法是根据在一段时间里数据项被使用的次数选择出最少使用的数据项,即根据使用次数的差异来决定。而
LRU
是根据使用时间的差异来决定的。
一个优秀的缓存框架必须实现以上的所有缓存机制。例如:
Ehcache
就实现了上面的所有策略。
( 1 )缓存数据和目标数据的一致性问题。
( 2 )缓存的过期策略(机制)。
( 1 ) FIFO : FirstIn First Out ,先进先出
( 2 ) LRU : LeastRecently Used ,最近最少使用
( 3 ) LFU : LeastFrequently Used ,最不经常使用