java#Ehcahe的XML配置(未完成)

Cache的配置很灵活,官方提供很多方式,声明、XML、程序里面配置、调用构造方法时传入不同的参数

其中运行时配置的好处:在同一个地方配置所有的Cache  这样容易管理Cache的内存和磁盘消耗

发布时候可更改Cache配置

安装阶段检查出配置错误信息 而避免了运行时错误

如果你调用了CacheManager默认构造方法去创建CacheManager的实例。此方法会到classpath中找ehcache.xml文件,否则它会到类路径下找ehcache-failsafe.xml文件。而ehcache-failsafe.xml被包含在jar包中,所有它肯定能找的到。ehcache-failsafe. xml提供了一个非常简单的默认配置,这样可以使用户在没有创建ehcache.xml的情况下使用Ehcache。

注: 在ehcache1.6版本之前是ASCII编码的ehcache.xml配置文件,但是在这之后就是改用UTF-8,但是由于向下兼容! 所以不ACSII不用转码也可以使用

配置文件  ehcache.xml 

<ehcache>

<cacheManagerPeerProviderFactory

class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory"  

properties=".........."/>


<diskStore path="java.io.tmpdir"/>
<dafaultCache
maxElementsInMemory="1000"
eternal="false"
overflowToDisk="true"
timeToIdleSeconds="300"
timeToLiveSeconds="600"
diskPersistent="false"
diskEXpiryThreadIntervalSeconds="120"/>
<cache name="demoCache"
maxElementsInMemory="1000"
eternal="false"
overflowToDisk="true"
timeToIdleSeconds="300"
timeToLiveSeconds="600"
maxElementsOnDisk="1000000"
diskPersistent="false"
diskEXpiryThreadIntervalSeconds="120"
memoryStoreEvictionPolicy="LFU"/> <./ehcahe>

在集群中CacheManagerEventListener配置

我们通过Cache =ManagerEventListenerFactory可以实例化一个CacheManagerPeerProvider,当我们从CacheManager 中adder和removed Cache时,将通知CacheManagerPeerProvider,这样一来我们就可以很方便的对CacheManager中的cache做统计工作 

注册到CacheManager的事件监听类名有adding a Cache 和 removing a cache

<cacheManagerEventListenerFactory class="" properties=""/>

CacheManagerPeerProvide配置

在集群中CacheManager配置CacheManagerPeerProviderFactoryy创建CacheManagerPeerProvider

<cacheManagerPeerProviderFactoryclass                                                                                                                                                      

MaxElemetsInMemory :缓存允许创建的最大对象数

eternal:缓存中对象是否是永久的如果是超时设置将被忽略,对象从不过期

timeToIdleSecond:缓存数据的钝化时间 也就是一个元素从构建到消亡的最大时间间隔值,这只能在元素不是永久驻留时有效,如果该值是0就意味着元素可以停顿无穷长的时间

timeToLiveSecond:缓存数据的生存时间,也就是一个元素从构建到消亡的最大时间间隔值,这只能在元素不是永久驻留时有效,如果该值是0就意味着元素可以停顿无穷长的时间

overflowToDisk:内存不足时,是否启用磁盘缓存

memoryStoreEvictionPolicy:缓存满了之后的淘汰算法,LRU和FIRO ,LFU算法直接淘汰使用比较少的对象,在内存保留的都是一些经常访问的对象。对于大部分网站项目适用

DmuliticastGroupPort="4446" 这样可以配置监听的端口

DisStore (磁盘缓存) :如果使用必须配置DisStore的配置项,如果不配置,就会使用默认java.io.tmpdir ,Ehcache的磁盘缓存使用文件的后缀名是.data和.index



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值