`
bit1129
  • 浏览: 1069830 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

【EhCache二】ehcache.xml配置详解

 
阅读更多

在ehcache官网上找了多次,终于找到ehcache.xml配置元素和属性的含义说明文档了,这个文档包含在ehcache.xml的注释中!

ehcache.xml : http://ehcache.org/ehcache.xml

ehcache.xsd : http://ehcache.org/ehcache.xsd

ehcache配置文件的根元素是ehcahe

 

ehcache根元素的属性

    1.name

    an optional name for the CacheManager.  The name is optional and primarily used for documentation

 

    2.updateCheck 

    an optional boolean flag specifying whether this CacheManager should check for new versions of Ehcache over the Internet.  If not specified, updateCheck="true".默认是true

 

    3.dynamicConfig

    an optional setting that can be used to disable dynamic configuration of caches associated with this CacheManager。默认是true

 

    4.defaultTransactionTimeoutInSeconds

    事务超时时间,默认是15

 

    5.maxBytesLocalHeap     

    optional setting that constraints the memory usage of the Caches managed by the CacheManager to use at most the specified number of bytes of the local VM's heap.   取值需要符  合正则表达式([0-9]+[bBkKmMgG]?|100%|[0-9]{1,2}%),默认0,表示没有限制

   

   6. maxBytesLocalOffHeap 

   optional setting that constraints the offHeap usage of the Caches managed by the CacheManager to use at most the specified number of bytes of the local VM's offHeap memory.取 值需要符合正则表达式[0-9]+[bBkKmMgG]?  ,默认0,表示不限制

 

    7. maxBytesLocalDisk        

    optional setting that constraints the disk usage of the Caches managed by the CacheManager to use at most the specified number of bytes of the local disk.取值需要符合正则表达式[0-9]+[bBkKmMgG]?  ,默认0,表示不限制

 

    8. monitoring               

    an optional setting that determines whether the CacheManager should automatically register the SampledCacheMBean with the system MBean server。 默认是autodetect ,可选值包括autodetect,on,off

 

ehcache根元素的所有属性都是可选的,除了name之外都有一个默认值

 

ehcache根元素的子元素

 

  1. defaultCache

  2. cache

  3. diskStore

  4. transactionManagerLookup

  5. sizeOfPolicy

  6. cacheManagerPeerProviderFactory

  7. cacheManagerPeerListenerFactory

  8. cacheManagerEventListenerFactory

 

说明:

  • 这些元素cache,cacheManagerPeerProviderFactory,cacheManagerPeerListenerFactory,cacheManagerEventListenerFactory可以有多个,其它至多有1个。每个元素都可以不出现,即ehcache可以是空的xml文档。如果是空的文档,如果定义缓存?可以使用编程的方式,动态的创建Cache实例。
  • 这些元素都不是简单元素,因此它们都可以定义子元素

 

defaultCache的属性

1. diskExpiryThreadIntervalSeconds

    The number of seconds between runs of the disk expiry thread. The default value is 120 seconds.

 

2. diskSpoolBufferSizeMB

    This is the size to allocate the DiskStore for a spool buffer. Writes are made  to this area and then asynchronously written to disk. The default size is 30MB.
    Each spool buffer is used only by its cache. If you get OutOfMemory errors consider lowering this value. To improve DiskStore performance consider increasing it. Trace level
    logging in the DiskStore will show if put back ups are occurring.

 

3.diskPersistent

   The disk store is persistent between cache and VM restarts。That's to say, data saved in the disk will be persisted even the VM is down?

 

4.diskAccessStripes

 

5.eternal

Specify whether the elemement in the cache is never expired. Note that when a cache is eternal, timeToLive and  timeToIdle are not used and do not need to be specified

 

6.maxElementsInMemory

 

 

7.maxEntriesLocalHeap

Specify the  maximum number of  elements that can stay in memory(JVM memory, know as heap)。指定允许在内存中存放元素的最大数量,0表示不限制。这个属性也可以在运行期动态修改

 

 

8.clearOnFlush

表示在调用Cacheflush方法时是否要清空MemoryStore。默认为true

 

9.memoryStoreEvictionPolicy

内存中的缓存数据清除策略。EhCache提供了两种方式:LRU,FIFO

 

10.overflowToDisk

Specify whether overflow to disk if the number of elements exceed in memory 。默认为false。当内存里面的缓存已经达到预设的上限时是否允许将按驱除策略驱除的元素保存在硬盘上,默认是LRU(最近最少使用)。当指定为false的时候表示缓存信息不会保存到磁盘上,只会保存在内存中。该属性现在已经废弃,推荐使用cache元素的子元素persistence来代替,如:<persistence strategy=”localTempSwap”/>

 

 

11.timeToIdleSeconds

    Sets the time to idle for an element before it expires.    i.e. The maximum amount of time between accesses before an element expires    Is only used if the element is not eternal.
    Optional attribute. A value of 0 means that an Element can idle for infinity. The default value is 0.

 

12.timeToLiveSeconds

    Sets the time to live for an element before it expires.  i.e. The maximum time between creation time and when an element expires.   Is only used if the element is not eternal.
    Optional attribute. A value of 0 means that and Element can live for infinity.   The default value is 0.

 

13.maxElementsOnDisk

 

 

14.maxEntriesLocalDisk

    Sets the maximum number of objects that will be maintained in the DiskStore。The default value is zero, meaning unlimited.

 

15.transactionalMode

事务模式,有on,off,local,xa,xa_strict五中取值,默认是off

 

16.statistics

 

17.copyOnRead

 Whether an Element is copied when being read from a cache.By default this is false.

  

18.copyOnWrite

Whether an Element is copied when being added to the cache.    By default this is false.

 

19.cacheLoaderTimeoutMillis

 

20.overflowToOffHeap

boolean类型,默认为false。表示是否允许Cache使用非堆内存进行存储,非堆内存是不受Java GC影响的。该属性只对企业版Ehcache有用

 

21.maxMemoryOffHeap

 非堆内存的最大值

 

 

cache元素的属性

cache除了包含defaultCache元素定义的属性之外,cache元素还有几个defacultCache元素没有的属性

1. maxBytesLocalHeap

 指定当前缓存能够使用的JVM堆内存的最大字节数。它的格式需要满足匹配正则表达式([0-9]+[bBkKmMgG]?|100%|[0-9]{1,2}%)

2.maxBytesLocalOffHeap

 指定当前缓存能够使用的JVM非堆内存的最大字节数。它的格式需要满足匹配正则表达式([0-9]+[bBkKmMgG]?|100%|[0-9]{1,2}%)

3.maxBytesLocalDisk

 指定当前缓存能够使用的硬盘的最大字节数。它的格式需要满足匹配正则表达式([0-9]+[bBkKmMgG]?|100%|[0-9]{1,2}%)。它的值应该小于ehcache根元素上的这个属性的配置,如果ehache下还有其它的cache,那么分配给其它Cache的容量为ehcache.maxBytesLocalDisk - this.maxBytesLocalDisk。其它两个属性也是一样的

 

 

 

diskStore元素配置

 diskstore元素没有子元素,同时只有一个path属性,用于指定EhCache往磁盘上存放数据的路径,默认是java.io.tmpdir。

 

  •  The diskStore element is optional. Configure it if you have disk persistence enabled for any cache or if you use unclustered indexed search.
  • If it is not configured, and a cache is created which requires a disk store, a warning will be issued and java.io.tmpdir will automatically be used.
  • diskStore has only one attribute - "path". It is the path to the directory where any required disk files will be created.
  • If the path is one of the following Java System Property it is replaced by its value in the running VM. For backward compatibility these should be specified without being enclosed in the ${token}  replacement syntax. The following properties are translated

        1.  user.dir - User's current working directory
        2.  java.io.tmpdir - Default temp file path
        3. ehcache.disk.store.dir - A system property you would normally specify on the command line e.g. java -Dehcache.disk.store.dir=/u01/myapp/diskdir ...

  • Subdirectories can be specified below the property e.g. java.io.tmpdir/one

 

<diskStore path="java.io.tmpdir"/>

<diskStore path="/home/tom/ehcache-data-dir"/>
 

 

cacheManagerEventListenerFactory元素配置

cacheManagerEventListenerFactory作为ehcache的子元素,它监听的是CacheManager的添加、删除缓存对象(Cache)的事件。同样的,cache元素的子元素cacheEventListenerFactory用于监听Cache上数据CRUD操作

 

  • Specifies a CacheManagerEventListenerFactory which is notified when Caches are added or removed from the CacheManager.
  • The attributes of CacheManagerEventListenerFactory are:

            1. class - a fully qualified factory class nameThe fully qualified class name will be set to be registered as the CacheManager event listener.
            2. properties - comma separated properties having meaning only to the factory.

  • The events include:

         1.  adding a Cache
          2. removing a Cache

  • Callbacks to listener methods are synchronous and unsynchronized. It is the responsibility of the implementer to safely handle the potential performance and thread safety issues depending on what their listener is doing.
  • If no class is specified, no listener is created. There is no default.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

   

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    ehcache.xsd_ehcache.xml代码提示.rar

    总结:这个压缩包提供的ehcache.xsd文件对于使用Ehcache的开发者来说是一个宝贵的资源,它能够帮助他们在编写ehcache.xml配置文件时避免错误,提高开发效率,同时保证了配置文件的正确性。在实际开发中,合理利用...

    ehcache的配置参数详解

    本文将深入探讨ehcache.xml配置文件中的关键参数及其作用,帮助开发者更有效地管理和优化缓存策略。 ### 1. `defaultCache` 标签 `defaultCache` 是ehcache.xml中一个重要的标签,用于定义所有未显式指定缓存策略...

    ehcache.xml

    二、ehcache.xml配置文件详解 ehcache.xml是用于配置Ehcache的主配置文件,它定义了缓存策略、缓存区域、缓存大小、过期策略等关键参数。以下是一些核心配置元素的解释: 1. `&lt;cache&gt;`元素:定义一个缓存区域,...

    ehcache-2.7.3-distribution.tar.gz

    描述中的"EHCache技术文档详解.doc"提示我们压缩包内包含了一份详细的技术文档,专门解释了EHCache的使用和功能,这将对理解和配置EHCache非常有帮助。 **标签"ehcache"** 标签"ehcache"是这个话题的核心,它是一...

    EHCache技术文档详解.doc

    首先需要在项目中引入EHCache的依赖库,然后配置相应的XML配置文件,定义缓存的名称、大小、过期策略等。 2.3 EHCACHE配置文件中元素说明 配置文件中包含、、、等元素,分别用于定义缓存、默认缓存参数、磁盘存储...

    ehcache介绍与说明.docx

    `ehcache.xml`是Ehcache的核心配置文件,其中包含了一些关键元素和属性: - `&lt;diskStore&gt;`元素:定义了一个文件目录,用于存储当内存缓存溢出到硬盘时的数据。可用的参数包括`user.home`(用户主目录)、`user.dir`...

    ehcache使用详解

    **Ehcache 使用详解** Ehcache 是一个广泛使用的开源Java缓存库,它提供了内存和磁盘存储的二级缓存机制,以提高应用程序的性能和响应速度。Ehcache 被设计为轻量级且易于集成到各种Java应用程序中,支持分布式缓存...

    ehcache配置使用详解

    #### 三、ehcache配置详解 **1. 运行时配置的优点:** - **统一管理**:集中配置所有Cache,方便调整缓存策略和资源分配。 - **动态调整**:发布后可根据实际运行情况调整缓存配置,无需重新编译代码。 **2. 缓存...

    Ehcache2缓存区配置详解.pdf

    ### Ehcache2缓存区配置详解 #### 一、Ehcache概述 Ehcache,一个备受推崇的开源高速缓存系统,专为提升应用程序性能、减轻数据库负担及简化应用扩展设计。其卓越的稳定性和丰富的特性使其成为Java领域内最受欢迎...

    ehcache-3.8.1.zip

    2. **配置文件**:Ehcache的配置通常通过XML文件进行,如`ehcache.xml`。在提供的压缩包中,包含了三个xsd文件,它们是Ehcache配置的XML Schema定义文件: - `ehcache-107-ext.xsd`:可能包含了Ehcache 3.8.1的扩展...

    缓存 ehcache-1.3.0.rar

    - **配置文件**: Ehcache 的配置通常通过XML文件进行,例如`ehcache.xml`,其中包含了缓存的大小、存活时间、过期策略等设置。 - **缓存区域(Cache Regions)**: 用户可以定义多个缓存区域,每个区域可以有不同的...

    ehcache二级缓存配置文件

    **Ehcache二级缓存配置详解** Ehcache是一个广泛使用的开源Java缓存库,它提供了内存和磁盘存储的缓存解决方案,适用于提高应用程序性能和减少数据库负载。在Java应用中,尤其是在Spring框架中,Ehcache常被用作二...

    Spring Boot 2.x的EhCache缓存的使用问题详解.docx

    为了使用EhCache,需要创建一个`ehcache.xml`配置文件。此文件通常放在`src/main/resources`目录下,并且应包含EhCache的配置设置,例如缓存大小、过期策略等。例如: ```xml &lt;ehcache xmlns:xsi=...

    java web项目里ehcache.xml介绍

    **ehcache.xml 配置详解** 1. **根元素 `&lt;ehcache&gt;`** - `xmlns:xsi`: 定义 XML Schema 实例的命名空间。 - `xsi:noNamespaceSchemaLocation`: 指定 Ehcache 的 XML 架构位置。 - `updateCheck`: 是否检查 ...

    EHCache插件.rar

    **三、XML配置文件** 压缩包中的XML文件可能是`ehcache.xml`,它是EHCache的配置文件,用于定义缓存策略、大小、过期时间等。例如,你可以设置某个特定缓存区域的大小,是否启用磁盘存储,以及缓存项的存活时间和...

    ehcache技术详解

    #### 配置详解 `ehcache.xml` 文件示例: ```xml &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation=...

    ehcache学习文档

    #### 四、Ehcache缓存配置详解 - **配置方式**:Ehcache支持多种配置方式,包括XML配置、程序内配置等。 - **XML配置**:是最常用的方式之一,通过`ehcache.xml`文件来定义缓存规则。 - **程序内配置**:适用于...

    Ehcache集群环境配置

    #### 二、Ehcache 配置文件详解 配置文件 `ehcache.xml` 是 Ehcache 配置的核心。下面详细介绍该配置文件的组成部分及其含义: 1. **XML 声明与 Ehcache 根元素**: ```xml &lt;?xml version="1.0" encoding="UTF-8...

Global site tag (gtag.js) - Google Analytics