ehcache缓存机制

ehcache缓存功能强大,最常用的是和hibernate和mybatis之类的持久层框架一起搭配使用,ehcache还可以缓存某个文件,甚至静态页面。

和hibernate持久层框架配合使用暂时先不说,这里主要演示ehcache.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<ehcache>
	<diskStore path="java.io.tmpdir" />
	
	<defaultCache 
		maxElementsInMemory="500" 
		eternal="false" 
		timeToIdleSeconds="300" 
		timeToLiveSeconds="1200" 
		overflowToDisk="true" />
	
	<cache 
		name="testcache1" 
		maxElementsInMemory="150" 
		eternal="false" 
		timeToLiveSeconds="36000" 
		timeToIdleSeconds="3600" 
		overflowToDisk="true"/> 
</ehcache>

1 maxElementsInMemory
如maxElementsInMemory="10000" ,内存中存储的对象的个数, 内存管理的缓存元素数量最大限值。

2 overflowToDisk
如overflowToDisk="true" 对象在内存中达到最大个数的时候,是否写入硬盘   

3 eternal
如eternal="false",表示cache中的对象是否过期,缺省为过期(按照配置中的时间),如果改为true,表示该对象永远不过期。
即cache中的元素将一直保存在内存中,不会因为时间超时而丢失,所以在这个值为true的时候,timeToIdleSeconds和timeToLiveSeconds两个属性的值就不起作用了。

4 maxElementsOnDisk
如maxElementsOnDisk="10000000" 在硬盘上最大的对象个数, 硬盘管理的缓存元素数量最大限值。默认值为0,就是没有限制。

5 timeToIdleSeconds
如timeToIdleSeconds="3600" 设定元素在过期前空闲状态的时间,只对非持久性缓存对象有效。默认值为0,值为0意味着元素可以闲置至无限长时间。
访问这个cache中元素的最大间隔时间。如果超过这个时间没有访问这个cache中的某个元素,那么这个元素将被从cache中清除。  

6 timeToLiveSeconds  
如timeToLiveSeconds="100000" 设定元素从创建到过期的时间。对象存活多少秒过期. 默认值为0,值为0意味着元素可以存活至无限长时间。
意思是从cache中的某个元素从创建到消亡的时间,从创建开始计时,当超过这个时间,这个元素将被从cache中清除。  

7 diskPersistent     
如diskPersistent="false" 是否持久化磁盘缓存,设定在虚拟机重启时是否进行磁盘存储,默认为false.
要想把cache真正持久化到磁盘,写程序时必须注意,在是用net.sf.ehcache.Cache的void put (Element element)方法后要使用void flush()方法。

8 diskExpiryThreadIntervalSeconds
如diskExpiryThreadIntervalSeconds=”1000”: 访问磁盘线程活动时间。

9 diskSpoolBufferSizeMB
存入磁盘时的缓冲区大小,默认30MB,每个缓存都有自己的缓冲区

10  emoryStoreEvictionPolicy
如: emoryStoreEvictionPolicy=” LRU”,元素逐出缓存规则。共有三种,(LRU)最近最少使用,为默认。
    First In First Out (FIFO),先进先出。
    Less Frequently Used(specified as LFU)最少使用。

11  name
指定一个cache的名字,用来识别不同的cache,必须惟一。

其中必须要填的属性为:
maxElementsInMemory: maxElementsOnDisk: eternal: overflowToDisk:

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值