EHcache经典配置

记录重要的东西和常用的东西。

<ehcache>  

<!-- 指定一个文件目录,当EHCache把数据写到硬盘上时,将把数据写到这个文件目录下 -->  

<diskStore path="java.io.tmpdir"/>  

<!-- 设定缓存的默认数据过期策略 -->  

<defaultCache  

maxElementsInMemory="10000"  

eternal="false"  

overflowToDisk="true"  

timeToIdleSeconds="0"  

timeToLiveSeconds="0"  

diskPersistent="false"  

diskExpiryThreadIntervalSeconds="120"/>  

    <!--    

        设定具体的命名缓存的数据过期策略  

        cache元素的属性:  

            name:缓存名称  

            maxElementsInMemory:内存中最大缓存对象数  

            maxElementsOnDisk:硬盘中最大缓存对象数,若是0表示无穷大  

            eternal:true表示对象永不过期,此时会忽略timeToIdleSeconds和timeToLiveSeconds属性,默认为false  

            overflowToDisk:true 表示当内存缓存的对象数目达到了maxElementsInMemory界限后,会把溢出的对象写到硬盘缓存中。注意:如果缓存的对象要写入到硬盘中的 话,则该对象必须实现了Serializable接口才行。  

            diskSpoolBufferSizeMB:磁盘缓存区大小,默认为30MB。每个Cache都应该有自己的一个缓存区。  

            diskPersistent:是否缓存虚拟机重启期数据  

            diskExpiryThreadIntervalSeconds:磁盘失效线程运行时间间隔,默认为120秒  

            timeToIdleSeconds: 设 定允许对象处于空闲状态的最长时间,以秒为单位。当对象自从最近一次被访问后,如果处于空闲状态的时间超过了timeToIdleSeconds属性值, 这个对象就会过期,EHCache将把它从缓存中清空。只有当eternal属性为false,该属性才有效。如果该属性值为0,则表示对象可以无限期地 处于空闲状态  

            timeToLiveSeconds: 设定对象允许存在于缓存中的最长时间,以秒为单位。当对象自从被存放到缓存中后,如果处于缓存中的时间超过了 timeToLiveSeconds属性 值,这个对象就会过期,EHCache将把它从缓存中清除。只有当eternal属性为false,该属性才有效。如果该属性值为0,则表示对象可以无限 期地存在于缓存中。timeToLiveSeconds必须大于timeToIdleSeconds属性,才有意义  

            memoryStoreEvictionPolicy: 当达到maxElementsInMemory限制时,Ehcache将会根据指定的策略去清理内存。可选策略有:LRU(最近最少使用,默认策略)、 FIFO(先进先出)、LFU(最少访问次数)。  

    -->  

<cache name="CACHE1"  

maxElementsInMemory="1000"  

eternal="true"  

overflowToDisk="true"/>    

<cache name="CACHE2"  

maxElementsInMemory="1000"  

eternal="false"  

timeToIdleSeconds="200"  

timeToLiveSeconds="4000"  

overflowToDisk="true"/>  

</ehcache

 

posted @ 2016-04-20 22:09  麻雀虽小五脏俱全  阅读(410)  评论(0编辑  收藏  举报