ehcache参数说明

<!-- 系统缓存 -->
	<cache name="sysCache" maxElementsInMemory="10000"
		eternal="false" overflowToDisk="true" diskPersistent="true" maxElementsOnDisk="0" 
		timeToIdleSeconds="0" timeToLiveSeconds="6000"
		diskExpiryThreadIntervalSeconds="1200">
	</cache>
diskStore		指定数据存储位置,可指定磁盘中的文件夹位置
defaultCache	 默认的管理策略

以下属性是必须的
name					缓存名称,cache的唯一标识(ehcache会把这个cache放到HashMap里)
eternal					设定缓存是否永久有效。如果为true,则缓存的数据始终有效,如果为false那么还要根据timeToIdleSeconds,timeToLiveSeconds判断。 
maxElementsInMemory		设置缓存在内存中最大缓存数量(0表示无限),如果放入cache中的元素超过这个数值,有两种情况

1、若overflowToDisk的属性值为true,会将cache中多出的元素放入磁盘文件中。 
2、若overflowToDisk的属性值为false,会根据memoryStoreEvictionPolicy的策略替换cache中原有的元素。 
overflowToDisk			如果内存中数据超过内存限制,是否要缓存到磁盘上。 
maxElementsOnDisk		在磁盘上缓存的element的最大数目,默认值为0,表示不限制。 

以下属性是可选的
timeToIdleSeconds="0"	设置缓存元素过期前的空闲时间(单位为秒),即当缓存闲置n秒后销毁。 当eternal为false时,这个属性才有效,0表示可以永远空闲,默认为0
timeToLiveSeconds="600"	设置缓存元素的有效生命期(单位为秒),即当缓存存活n秒后销毁。0 表示永远存在不过期
diskPersistent="true"	 是否在磁盘上持久化。指重启jvm后,数据是否有效。默认为false。 
diskExpiryThreadIntervalSeconds	磁盘缓存的清理线程运行间隔,默认是120秒
diskSpoolBufferSizeMB	DiskStore使用的磁盘大小,默认值30MB。每个cache使用各自的DiskStore
memoryStoreEvictionPolicy	如果内存中数据超过内存限制,向磁盘缓存时的策略。默认是LRU(最近最少使用),可选的有FIFO(先进先出)或是LFU(较少使用)

缓存的3 种清空策略 : 
FIFO	first in first out (先进先出).
LFU		Less Frequently Used (最少使用).意思是一直以来最少被使用的。缓存的元素有一个hit 属性,hit 值最小的将会被清出缓存。
LRU		Least Recently Used(最近最少使用). (ehcache 默认值).缓存的元素有一个时间戳,当缓存容量满了,而又需要腾出地方来缓存新的元素的时候,那么现有缓存元素中时间戳离当前时间最远的元素将被清出缓存

缓存子元素
cacheEventListenerFactory	注册相应的的缓存监听类,用于处理缓存事件,如put,remove,update,和expire
bootstrapCacheLoaderFactory	指定相应的BootstrapCacheLoader,用于在初始化缓存,以及自动设置

 

转载于:https://my.oschina.net/zhxm/blog/1599791