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

Ehcache 的配置(不使用配置文件)

    博客分类:
  • Java
 
阅读更多

EhCache是一个开放源码的,基于标准的高速缓存系统。

网上关于EhCache的使用配置很多,但是一般是基于配置文件的。
但是实际应用中。我们可能需要动态的管理缓存,这时候可能需要通过程序来动态添加配置创建缓存。

这里可以比较一下两种创建EhCache缓存方式的差异。


第一种方式,不使用配置文件,使用JAVA代码创建配置。

Configuration configuration = new Configuration()//
        .diskStore(new DiskStoreConfiguration().path("java.io.tmpdir"))//临时文件目录
        //指定除自身之外的网络群体中其他提供同步的主机列表,用“|”分开不同的主机
        .cacheManagerPeerProviderFactory(new FactoryConfiguration<FactoryConfiguration<?>>()//
                .className(RMICacheManagerPeerProviderFactory.class.getName())//
                .properties("peerDiscovery=manual,rmiUrls=//localhost:40004/metaCache|//localhost:40005/metaCache")//
        )//
        //配宿主主机配置监听程序
        .cacheManagerPeerListenerFactory(new FactoryConfiguration<FactoryConfiguration<?>>()//
                .className(RMICacheManagerPeerListenerFactory.class.getName())//
                .properties("port=40004,socketTimeoutMillis=2000")//
        )//
        .cache(new CacheConfiguration("metaCache", 10000)//缓存名称(必须唯一),maxElements内存最多可以存放的元素的数量
                .memoryStoreEvictionPolicy(MemoryStoreEvictionPolicy.LFU)//清理机制:LRU最近最少使用 FIFO先进先出 LFU较少使用
                .timeToIdleSeconds(1000)//元素最大闲置时间
                .timeToLiveSeconds(2000)//元素最大生存时间
                .eternal(false)//元素是否永久缓存
                .diskExpiryThreadIntervalSeconds(120)//缓存清理时间(默认120秒)
                //LOCALTEMPSWAP当缓存容量达到上限时,将缓存对象(包含堆和非堆中的)交换到磁盘中
                //NONE当缓存容量达到上限时,将缓存对象(包含堆和非堆中的)交换到磁盘中
                //DISTRIBUTED按照_terracotta标签配置的持久化方式执行。非分布式部署时,此选项不可用
                .persistence(new PersistenceConfiguration().strategy(PersistenceConfiguration.Strategy.NONE)).maxEntriesLocalDisk(0)//磁盘中最大缓存对象数0表示无穷大)
                .cacheEventListenerFactory(new CacheConfiguration.CacheEventListenerFactoryConfiguration().className(RMICacheReplicatorFactory.class.getName()))//
        );

CacheManager manager = CacheManager.create(configuration);
Cache cache = manager.getCache("metaCache");//获得缓存

 

 

第二种方式,使用配置文件
配置文件ehache.xml

<?xml version="1.0" encoding="UTF-8"?>
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="ehcache.xsd" updateCheck="true" monitoring="autodetect" dynamicConfig="true">
    <diskStore path="java.io.tmpdir" />
    <cacheManagerPeerProviderFactory class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory" properties="peerDiscovery=manual,rmiUrls=//localhost:40004/metaCache|//localhost:40005/metaCache" />
    <cacheManagerPeerListenerFactory class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory" properties="port=40004,socketTimeoutMillis=2000" />
    <defaultCache maxElementsInMemory="10000" eternal="false" timeToIdleSeconds="120" timeToLiveSeconds="120" overflowToDisk="true" diskSpoolBufferSizeMB="30" maxElementsOnDisk="10000000" diskPersistent="false" diskExpiryThreadIntervalSeconds="120"
        memoryStoreEvictionPolicy="LRU">
    </defaultCache>
    <cache name="metaCache" maxElementsInMemory="1000" eternal="false" timeToIdleSeconds="2000" timeToLiveSeconds="1000" overflowToDisk="false">
        <cacheEventListenerFactory class="net.sf.ehcache.distribution.RMICacheReplicatorFactory" />
    </cache>
</ehcache>

 使用

URL url = getClass().getResource("ehache.xml");
CacheManager manager = new CacheManager(url);
Cache cache = manager.getCache("metaCache");//获得缓存

 

 

 

0
0
分享到:
评论

相关推荐

    ehcache的配置参数详解

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

    ehcache配置文件

    ehcache配置文件里面有大量注解方便解读和理解湖北卫视 2018-10-26 2018-10-26 黄鹤楼酒违法 一般违法 50

    ehcache配置使用详解

    ### ehcache配置使用详解 #### 一、ehcache概述与特性 **背景介绍:** 缓存作为提升系统响应速度和降低数据库压力的关键技术,在现代软件架构中占据着重要位置。ehcache,作为一款高性能的开源Java缓存框架,旨在...

    集群环境中使用_EhCache_缓存系统&Ehcache配置文件的详细说明

    本篇文章将深入探讨EhCache在集群环境中的应用及其配置文件的详细设置。 一、EhCache概述 EhCache是由Terracotta公司开发的内存缓存系统,它支持本地缓存和分布式缓存两种模式。EhCache的特点包括:快速存取、内存...

    ehcache缓存的jar包和配置文件

    - 创建缓存管理器:使用`CacheManager`类初始化缓存管理器,并根据配置文件加载缓存配置。 - 获取和操作缓存:通过缓存管理器获取缓存实例,然后可以添加、检索、更新或删除缓存中的数据。 4. 示例配置: ```xml...

    ehcache二级缓存配置文件

    2. 在Spring配置文件中配置Ehcache缓存管理器。 3. 在需要缓存的方法或类上添加`@Cacheable`、`@CacheEvict`等注解。 4. 可选:配置缓存切面,如`@EnableCaching`。 **5. 性能优化** - 选择合适的缓存策略(LRU、...

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

    最后,启动多个应用实例,每个实例都会使用其对应的EhCache配置,并通过配置的网络信息与其他实例建立连接,形成缓存集群。这样,当在一个实例中更新缓存时,更新会被广播到其他实例,确保所有节点上的缓存保持一致...

    Hibernate+EhCache配置及使用说明详解

    Hibernate+EhCache 配置及使用说明详解 EhCache 是 Hibernate 的二级缓存技术之一,可以把查询出来的数据存储在内存或者磁盘,节省下次同样查询语句再次查询数据库,大幅减轻数据库压力。 EhCache 的使用注意点: ...

    EHCACHE集群配置-JGroup篇

    EHCAHCE基于JGROUP的集群配置方案,内含相关配置文件,及配置说明

    Spring 使用注解配置使用ehcache

    接着,我们需要创建一个Ehcache配置文件(ehcache.xml),定义缓存策略和缓存区域。例如: ```xml &lt;ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation=...

    EHCache 分布式配置文件

    **EHCache 分布式配置文件详解** EHCache 是一个开源的 Java 缓存库,它提供了内存和磁盘缓存的解决方案,广泛应用于提高应用程序性能,尤其是在数据访问层。分布式配置文件是 EHCache 实现多节点共享缓存的关键,...

    ehcache缓存配置详解

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

    ehcache使用,以及集群配置

    2. **配置Ehcache**: 在项目中创建`ehcache.xml`配置文件,定义缓存的属性,如缓存的大小、存活时间和过期时间。例如: ```xml maxEntriesLocalHeap="10000" eternal="false" timeToIdleSeconds="120" ...

    ehcache配置拦截器缓存页面

    接下来,我们需要创建一个Ehcache配置文件,例如ehcache.xml,定义缓存的属性,如大小、存活时间等。例如: ```xml &lt;config xmlns="http://www.ehcache.org/v3"&gt; &lt;key-type&gt;java.lang.String &lt;value-type&gt;java....

    SpringMVC+Mybatis+Spring+Shiro+ehcache整合配置文件

    在整合这些技术时,首先需要在Spring的配置文件中定义bean,包括数据源、SqlSessionFactory(Mybatis的核心)、MapperScannerConfigurer(扫描Mapper接口)等。然后配置SpringMVC的DispatcherServlet,设置视图解析...

    EhCache缓存的配置文件

    EhCache缓存的配置文件

    EHCache配置

    **EHCache配置详解** EHCache是一款广泛应用于Java环境中的开源分布式缓存系统,它能够显著提升应用程序的性能和响应速度,特别是在数据访问密集型的应用场景中。本文将深入探讨EHCache的配置细节,帮助开发者更好...

    EHcache 缓存使用 手动存储 配置到SSH

    在`applicationContext.xml`配置文件中,我们需要引入EHcache的相关依赖,并配置缓存管理器: ```xml &lt;bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"&gt; ...

    ehcache基本原理及配置

    **Ehcache配置** Ehcache的配置主要通过XML文件进行,以下是一些关键配置元素: 1. **** 元素: 定义一个具体的缓存实例,包括其名称、大小限制、过期策略等属性。例如: ```xml &lt;!-- additional configuration...

Global site tag (gtag.js) - Google Analytics