`

ehcache缓存配置与参数说明

 
阅读更多
<?xml version="1.0" encoding="UTF-8"?>
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd" updateCheck="false">
    <!--
     | Please see http://ehcache.sourceforge.net/documentation/configuration.html for
     | detailed information on how to configurigure caches in this file
     +-->
    <!-- Location of persistent caches on disk -->
    <diskStore path="java.io.tmpdir" />

    <defaultCache eternal="false" maxElementsInMemory="3000"
        overflowToDisk="false" diskPersistent="false" timeToIdleSeconds="0"
        timeToLiveSeconds="43200" memoryStoreEvictionPolicy="LRU"/>

    <cache name="allAreasCache" eternal="false"
        maxElementsInMemory="3000" overflowToDisk="false" diskPersistent="false"
        timeToIdleSeconds="0" timeToLiveSeconds="43200"
        memoryStoreEvictionPolicy="LRU" />
        
    <cache name="areaDetailCache" eternal="false"
        maxElementsInMemory="1000" overflowToDisk="false" diskPersistent="false"
        timeToIdleSeconds="0" timeToLiveSeconds="43200"
        memoryStoreEvictionPolicy="LRU" /> 
        
    <cache name="allAppFormCateoryListCache" eternal="false"
        maxElementsInMemory="1000" overflowToDisk="false" diskPersistent="false"
        timeToIdleSeconds="0" timeToLiveSeconds="43200"
        memoryStoreEvictionPolicy="LRU" /> 
        
   <cache name="appFormCateoryListCache" eternal="false"
        maxElementsInMemory="1000" overflowToDisk="false" diskPersistent="false"
        timeToIdleSeconds="0" timeToLiveSeconds="43200"
        memoryStoreEvictionPolicy="LRU" />   
        
    <cache name="oldAppFormCateoryListCache" eternal="false"
        maxElementsInMemory="1000" overflowToDisk="false" diskPersistent="false"
        timeToIdleSeconds="0" timeToLiveSeconds="43200"
        memoryStoreEvictionPolicy="LRU" /> 
        
    <cache name="allAppFormCateorysCache" eternal="false"
        maxElementsInMemory="1000" overflowToDisk="false" diskPersistent="false"
        timeToIdleSeconds="0" timeToLiveSeconds="43200"
        memoryStoreEvictionPolicy="LRU" />     
        
    <cache name="appFormCateorysCache" eternal="false"
        maxElementsInMemory="1000" overflowToDisk="false" diskPersistent="false"
        timeToIdleSeconds="0" timeToLiveSeconds="43200"
        memoryStoreEvictionPolicy="LRU" /> 
        
    <cache name="oldAppFormCateorysCache" eternal="false"
        maxElementsInMemory="1000" overflowToDisk="false" diskPersistent="false"
        timeToIdleSeconds="0" timeToLiveSeconds="43200"
        memoryStoreEvictionPolicy="LRU" /> 
        
    <cache name="allAppFormCateoryDetailCache" eternal="false"
        maxElementsInMemory="1000" overflowToDisk="false" diskPersistent="false"
        timeToIdleSeconds="0" timeToLiveSeconds="43200"
        memoryStoreEvictionPolicy="LRU" /> 
        
    <cache name="appFormCateoryDetailCache" eternal="false"
        maxElementsInMemory="100" overflowToDisk="false" diskPersistent="false"
        timeToIdleSeconds="0" timeToLiveSeconds="3600"
        memoryStoreEvictionPolicy="LRU" /> 
 	    
    <cache name="oldAppFormCateoryDetailCache" eternal="false"
        maxElementsInMemory="100" overflowToDisk="false" diskPersistent="false"
        timeToIdleSeconds="0" timeToLiveSeconds="43200"
        memoryStoreEvictionPolicy="LRU" /> 
        
    <cache name="RMIApplicationFlowVosCache" eternal="false"
        maxElementsInMemory="500" overflowToDisk="false" diskPersistent="false"
        timeToIdleSeconds="0" timeToLiveSeconds="600"
        memoryStoreEvictionPolicy="LRU" />  	 
</ehcache>


参数说明:

diskStore :指定数据存储位置,可指定磁盘中的文件夹位置
defaultCache : 默认的管理策略

以下属性是必须的:
name: Cache的名称,必须是唯一的(ehcache会把这个cache放到HashMap里)。maxElementsInMemory:在内存中缓存的element的最大数目。
eternal:设定缓存的elements是否永远不过期。如果为true,则缓存的数据始终有效,如果为false那么还要根据timeToIdleSeconds,timeToLiveSeconds判断。
maxElementsInMemory:cache 中最多可以存放的元素的数量。如果放入cache中的元素超过这个数值,有两种情况:
1、若overflowToDisk的属性值为true,会将cache中多出的元素放入磁盘文件中。
2、若overflowToDisk的属性值为false,会根据memoryStoreEvictionPolicy的策略替换cache中原有的元素。
overflowToDisk: 如果内存中数据超过内存限制,是否要缓存到磁盘上。
maxElementsOnDisk:在磁盘上缓存的element的最大数目,默认值为0,表示不限制。

以下属性是可选的:
timeToIdleSeconds: 对象空闲时间,指对象在多长时间没有被访问就会失效。只对eternal为false的有效。默认值0,表示一直可以访问。以秒为单位。
timeToLiveSeconds: 对象存活时间,指对象从创建到失效所需要的时间。只对eternal为false的有效。默认值0,表示一直可以访问。以秒为单位。
diskPersistent: 是否在磁盘上持久化。指重启jvm后,数据是否有效。默认为false。
diskExpiryThreadIntervalSeconds: 对象检测线程运行时间间隔。标识对象状态的线程多长时间运行一次。以秒为单位。
diskSpoolBufferSizeMB: DiskStore使用的磁盘大小,默认值30MB。每个cache使用各自的DiskStore。
memoryStoreEvictionPolicy: 如果内存中数据超过内存限制,向磁盘缓存时的策略。默认值LRU,可选FIFO、LFU。
缓存的3 种清空策略 :
FIFO ,first in first out (先进先出).
LFU , Less Frequently Used (最少使用).意思是一直以来最少被使用的。缓存的元素有一个hit 属性,hit 值最小的将会被清出缓存。
LRU ,Least Recently Used(最近最少使用). (ehcache 默认值).缓存的元素有一个时间戳,当缓存容量满了,而又需要腾出地方来缓存新的元素的时候,那么现有缓存元素中时间戳离当前时间最远的元素将被清出缓存。
分享到:
评论

相关推荐

    javaWeb中Ehcache缓存配置说明

    ### JavaWeb中Ehcache缓存配置详解 在JavaWeb应用开发中,缓存技术扮演着至关重要的角色,它能够显著提升应用性能和响应速度,减少数据库负担。Ehcache作为一款广泛使用的开源缓存解决方案,其高效、灵活的特性受到...

    ehcache缓存配置详解

    ehcache 缓存配置详解 Ehcache 是一个流行的 Java 缓存框架,提供了强大的缓存机制,帮助开发者提高应用程序的性能和可扩展性。 Ehcache 的配置主要包括 diskstore、defaultCache、cache 三个部分,这三个部分的...

    ehcache的配置参数详解

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

    cache/ehcache缓存使用

    `RuntimeMessage.java`可能是一个包含运行时消息处理的类,与Ehcache缓存的具体实现关系不大,但可能在实际应用中与缓存配合使用,例如处理缓存未命中时的异常情况。 至于`ehcache.jar`,它是Ehcache的库文件,包含...

    Ehcache缓存配置.doc

    它提供了多种缓存配置方式,包括声明式、XML配置、编程式配置以及通过构造函数传递参数。本文主要讨论Ehcache的XML配置文件`ehcache.xml`。 首先,`ehcache.xml`是Ehcache的主要配置文件,定义了缓存的行为,如缓存...

    Ehcache分布式缓存与其在SpringBoot应用

    同时,在`application.properties`或`application.yml`文件中配置Ehcache的相关参数,例如缓存的大小、过期时间等。 2. **Ehcache配置**:在`ehcache.xml`配置文件中,你可以指定Ehcache如何运行。对于分布式缓存,...

    Spring 与Ehcache实现基于方法的缓存

    然后,需要配置Ehcache,创建一个`ehcache.xml`配置文件,定义缓存策略,如缓存的大小、过期时间等。例如: ```xml ``` 这里定义了一个名为`myCache`的缓存,最大内存元素为1000个,非永久存储,闲置120秒后...

    ehcache缓存的配置

    ### ehcache缓存的配置详解 #### 一、ehcache简介 ehcache 是一款开源的高性能 Java 缓存框架,广泛应用于 Java 应用程序中,用于提高应用程序性能。通过在内存或磁盘中存储数据副本,ehcache 可以减少数据库访问...

    Ehcache缓存配置

    ### Ehcache缓存配置详解 #### 一、概述 Ehcache是一款开源的、高性能的、功能丰富的Java缓存框架,它可以极大地提升应用程序的性能。Ehcache支持多种配置方式,包括XML配置、代码内配置等,使得开发人员能够根据...

    Hibernate中二级缓存ehcache缓存案例

    在测试过程中,注意监控日志,查看是否有异常信息,以及缓存命中率、缓存读写操作等统计信息,以便优化缓存配置。 总之,理解和掌握Hibernate中的二级缓存ehcache对于提高Java应用的性能至关重要。正确配置和使用...

    ehcache 缓存

    **Ehcache缓存系统详解** Ehcache是一款开源、高性能、轻量级的Java缓存框架,广泛应用于各种Java应用程序中,以提高数据访问速度并降低数据库负载。它的核心特性包括内存缓存、磁盘存储和分布式缓存,使得在大数据...

    Spring+EhCache缓存实例

    **Spring+EhCache缓存实例详解** 在现代的Java企业级应用中,缓存技术扮演着至关重要的角色,它能够显著提升系统性能,减少数据库负载。Spring框架与EhCache的结合,为开发者提供了一种高效、易用的缓存解决方案。...

    Spring Boot 2.x基础教程:使用EhCache缓存集群.docx

    为了解决这个问题,我们需要配置EhCache缓存集群,以确保数据更新能在各个进程中同步。以下是如何使用EhCache实现缓存集群的详细步骤: 首先,确保缓存对象是可序列化的。在上述例子中,`User`实体需要实现`...

    ehcache缓存入门项目

    在这个“ehcache缓存入门项目”中,我们将深入探讨EhCache的基本概念、配置、使用方法以及一些实用技巧。 1. **EhCache简介** EhCache是一个基于内存的分布式缓存解决方案,它可以存储对象并提供快速访问。它支持...

    ehcache基本原理及配置

    4. **** 元素: 定义默认缓存配置,适用于所有未在中定义的缓存实例。 5. **** 和 **** 子元素: 用来设置缓存淘汰和过期策略的具体规则。 **缓存的使用** 在Java应用中,可以使用Ehcache API来创建、读取、更新和...

    ehcache 缓存技术

    **EHCache缓存技术** EHCache是一款高性能、轻量级的Java缓存框架,它广泛应用于各种Java应用程序中,特别是需要提升数据访问速度和减少数据库负载的场景。EHCache是基于内存的,但同时支持持久化,能有效地提高...

    EHCache缓存

    ### EHCache缓存知识点详解 #### 一、EHCache简介 **EHCache** 是一个用 Java 实现的高效、简洁的缓存管理类库。它不仅适用于开发高性能的应用程序,而且由于其实现了线程安全,因此非常适合在多线程环境中使用。...

    ehcache缓存页面

    本文主要探讨如何利用Ehcache实现页面缓存,以及相关的配置和策略。 首先,理解Ehcache的两个关键参数: 1. `timeToIdleSeconds`:定义了缓存项在没有被访问的情况下存活的秒数。一旦达到这个时间,即使缓存项还未...

Global site tag (gtag.js) - Google Analytics