ehcahce参数配置详解

<defaultCache
             maxElementsInMemory="10000"
            //缓存中最大允许创建的对象数
             eternal="false"
            //缓存中对象是否为永久的,如果是,超时设置将被忽略,对象从不过期
             timeToIdleSeconds="120"
            //缓存数据钝化时间(设置对象在它过期之前的空闲时间)
             timeToLiveSeconds="120"
             //缓存数据的生存时间,不论缓存是否一直被使用,都将被删除

             overflowToDisk="true"
             //内存不足时,是否启用磁盘缓存
  />

<diskStore>表示当内存缓存中对象数量超过类设置内存缓存数量时,将缓存对象写到硬盘,path=”java.io.tmpdir”表示把数据写到这个目录下。Java.io.tmpdir目录在运行时会根据相对路径生成。
<defaultCache>表示设定缓存的默认数据过期策略。
<cache>表示设定用具体的命名缓存的数据过期策略。
name表示具体的缓存命名。
maxElementsInMemory表示cache中最大允许保存的对象数据量。

eternal:

在ehcache的官方文档上写着eternal的配置:
Note that the eternal attribute, when set to "true", overrides timeToLive and timeToIdle so that no expiration can take place.
一旦设置了eternal=true,timeToLive和timeToIdle就失效了,缓存里的数据,只有当缓存满的时候,才有可能被清除。
如果我们想手动给某一条数据设置过期时间,则我们需要把eternal的值设为false。

 
timeToIdleSeconds表示缓存数据一直未被使用,将从缓存中删除的时间长度
timeToLiveSeconds表示缓存数据的生命时间。不论缓存是否一直被使用,只要生命周期到了,都将被删除
overflowToDisk表示内存不足时,是否启用磁盘缓存。

猜你喜欢

转载自beyondqinghua.iteye.com/blog/1733487
今日推荐