ehcache缓存配置说明
系统性能缓存配置文件说明:
配置文件ehcache.xml中命名为demoCache的缓存配置:
<cache name="demoCache"
maxElementsInMemory="10000"
eternal="false"
overflowToDisk="true"
timeToIdleSeconds="300"
timeToLiveSeconds="600"
memoryStoreEvictionPolicy="LFU" />
各配置参数的含义:
maxElementsInMemory:缓存中允许创建的最大对象数
eternal:缓存中对象是否为永久的,如果是,超时设置将被忽略,对象从不过期。
timeToIdleSeconds:缓存数据的钝化时间,也就是在一个元素消亡之前,两次访问时间的最大时间间隔值, 这只能在元素不是永久驻留时有效,如果该值是 0 就意味着元素可以停顿无穷长的时间。300为秒,即:5分钟
timeToLiveSeconds:缓存数据的生存时间,也就是一个元素从构建到消亡的最大时间间隔值,这只能在元素不是永久驻留时有效,如果该值是0 就意味着元素可以停顿无穷长的时间。
overflowToDisk:内存不足时,是否启用磁盘缓存。
memoryStoreEvictionPolicy:当达到maxElementsInMemory限制时,Ehcache将会根据指定的策略去清理内存,也就说缓存满了之后的淘汰算法。默认策略是LRU(最近最少使用)
目前此项常用算法说明:
LFU算法直接淘汰使用比较少的对象,在内存保留的都是一些经常访问的对象
FIFO算法“先进先出”,淘汰最先进入缓存的对象
LRU 算法淘汰没有被使用时间最长的
对于大部分网站项目,LFU算法比较适用。但目前来说我们系统中的配置好像没有设置这一项
根据以上说明:到时候我可以将存储文章的缓存配置根据需要再优化一下,比如说在高峰期,网站的访问量很大,到时候缓存的对象也比较多,那么我们就可以配置较优缓存淘汰策略,这样也可以达到优化缓存的效果