博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

详解ehcache.xml文件中cache配置参数(转载)

Posted on 2014-04-15 20:32  随风的石头  阅读(1798)  评论(0)    收藏  举报

详解ehcache.xml文件中cache配置参数(转载)  

今天开发过程中无意间就接触到了这个文件(ehcache.xml),经了解它是Hibernate 的缓存配置文件,和hibernate.cfg.xml 放在一起的。这对以后大量数据操作提供一个很好优化方案。

现在就给出各项的注释:

<defaultCache

maxElementsInMemory="10000"

//缓存中最大允许创建的对象数

eternal="false"

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

timeToIdleSeconds="120"

//缓存数据钝化时间(设置对象在它过期之前的空闲时间)

timeToLiveSeconds="120"

//缓存数据的生存时间(设置对象在它过期之前的生存时间)

overflowToDisk="true"

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

/>

下面是自己的ehcache.xml 的配置

<ehcache>

     <!-- 
  设置缓存文件 .data 的创建路径。
  如果该路径是 Java 系统参数,当前虚拟机会重新赋值。
  下面的参数这样解释:
  user.home      – 用户主目录
  user.dir       – 用户当前工作目录
  java.io.tmpdir – 默认临时文件路径 
 -->
    <diskStore path="java.io.tmpdir"/>


    <!-- 缺省缓存配置。CacheManager 会把这些配置应用到程序中。

        下列属性是 defaultCache 必须的:

        maxInMemory           - 设定内存中创建对象的最大值。
        eternal               - 设置元素(译注:内存中对象)是否永久驻留。如果是,将忽略超时限制且元素永不消亡。
        timeToIdleSeconds     - 设置某个元素消亡前的停顿时间。
                                       也就是在一个元素消亡之前,两次访问时间的最大时间间隔值。
                                       这只能在元素不是永久驻留时有效(译注:如果对象永恒不灭,则
                                       设置该属性也无用)。
                                       如果该值是 0 就意味着元素可以停顿无穷长的时间。
        timeToLiveSeconds    - 为元素设置消亡前的生存时间。
                                       也就是一个元素从构建到消亡的最大时间间隔值。
                                       这只能在元素不是永久驻留时有效。
        overflowToDisk        - 设置当内存中缓存达到 maxInMemory 限制时元素是否可写到磁盘
                                       上。
        -->


    <defaultCache name="com.cader.MethodCache"
        maxElementsInMemory="10000"
        eternal="false"
        overflowToDisk="true"
        timeToIdleSeconds="120"
        timeToLiveSeconds="120"
        diskPersistent="false"
        diskExpiryThreadIntervalSeconds="120"
        />
</ehcache>