`

Ehcache动态缓存

 
阅读更多

测试于:JDK6+,ehcache3.x

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

网上关于EhCache的使用配置很多,但是一般是基于配置文件的。但是实际应用中。我们可能需要动态的管理缓存,这时候单纯配置文件就不够用了。

所以我们需要编码形式的配置创建缓存。

其实EhCache是支持硬编码方式创建配置的(配置文件只是一种形式,最终也是需要解析成JAVA类模型的)。

 

使用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");//获得缓存
(配置使用连缀写到一起了,实际应用中也可以分开写)
分享到:
评论

相关推荐

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

    Ehcache是一个高性能的、基于Java的进程内缓存解决方案,它被广泛应用于各种Java应用程序,包括Java EE和轻量级容器。Ehcache的主要优势在于它的快速响应、易用性和丰富的缓存策略。它提供了两种级别的缓存存储:...

    ehcache项目缓存技术

    Ehcache是Java平台上的一个开源、高性能的分布式缓存系统,它在处理大量用户访问主页或频繁操作某些数据时,能显著提升系统的响应速度和效率。本篇文章将深入探讨Ehcache项目的缓存技术及其应用。 一、Ehcache简介...

    ehcache页面缓存技术

    ehcache页面缓存技术ehcache页面缓存技术ehcache页面缓存技术ehcache页面缓存技术ehcache页面缓存技术ehcache页面缓存技术ehcache页面缓存技术ehcache页面缓存技术ehcache页面缓存技术ehcache页面缓存技术ehcache...

    基于java的开发源码-Ehcache Java 缓存框架.zip

    基于java的开发源码-Ehcache Java 缓存框架.zip 基于java的开发源码-Ehcache Java 缓存框架.zip 基于java的开发源码-Ehcache Java 缓存框架.zip 基于java的开发源码-Ehcache Java 缓存框架.zip 基于java的开发源码-...

    SpringBoot 集成Ehcache实现缓存

    下面将详细介绍如何在一个Spring Boot项目中集成并使用Ehcache缓存。 ##### 1. 创建项目 首先,使用IDEA创建一个Maven类型的Spring Boot项目。确保项目结构符合Spring Boot的标准。 ##### 2. 数据库初始化 为了...

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

    EhCache是一个开源的、高性能的Java分布式缓存系统,常用于提高应用程序的性能和响应速度,尤其是在处理大量数据时。在集群环境中使用EhCache,可以实现数据的共享和一致性,有效减轻数据库的压力。本篇文章将深入...

    cache/ehcache缓存使用

    本文将详细讲解"cache/ehcache缓存使用"的相关知识点,包括缓存的基本概念、Ehcache的介绍、以及如何在Java应用中使用Ehcache进行缓存操作。 首先,我们要理解什么是缓存。缓存是一种存储技术,它临时存储常用或...

    细谈Ehcache页面缓存的使用

    在当今高度动态且数据密集型的应用环境中,缓存技术扮演着至关重要的角色。Ehcache作为一款高性能、轻量级的Java缓存框架,被广泛应用于各种场景中以提高系统的响应速度和整体性能。本文将深入探讨Ehcache页面缓存的...

    Spring AOP+ehCache简单缓存系统解决方案

    在本篇【Spring AOP+ehCache简单缓存系统解决方案】中,我们将探讨如何利用Spring AOP(面向切面编程)和ehCache框架来构建一个高效、简单的缓存系统,以提升应用程序的性能。ehCache是一款流行的开源Java缓存库,它...

    Ehcache分布式缓存入门案例demo_文件转树结构_

    Ehcache是一个高性能、轻量级的Java分布式缓存库,它被广泛应用于提升应用程序的性能,通过存储经常访问的数据来减少对数据库的依赖,从而加快系统的响应速度。本入门案例将带你了解如何使用Ehcache实现分布式缓存,...

    项目优化之Ehcache页面缓存

    Ehcache是一款高效、流行的Java缓存库,它在项目优化中扮演着重要角色,尤其在处理前端页面缓存方面。本文将深入探讨Ehcache的工作原理、优势、配置以及如何将其应用于页面缓存,同时结合提供的代码案例和文档,帮助...

    Java缓存框架 EhCache

    **Java缓存框架 EhCache** EhCache是一个广泛使用的开源Java缓存框架,它以其高效、轻量级和易于集成的特性,在Java开发领域中占据了重要的地位。作为进程内缓存解决方案,EhCache能够在应用程序运行时存储数据,...

    ehcache分布式缓存实例

    2. 缓存加载器:支持从数据源(如数据库)动态加载缓存数据。 3. 缓存复制:在分布式环境中,Ehcache能确保同一份数据在所有节点间的一致性。 4. 跨节点通信:通过RMI或其他通信机制实现节点间的交互。 二、RMI简介...

    Ehcache缓存

    **Ehcache缓存** Ehcache是一种广泛使用的开源Java分布式缓存系统,它为高性能应用程序提供了内存存储和缓存解决方案。在Java世界中,尤其是在持久化框架如Hibernate的使用中,Ehcache扮演了至关重要的角色。由于...

    springMVC+Ehcache的各级缓存(包括页面缓存)

    SpringMVC和Ehcache的结合使用,能够构建一个高效、灵活的多级缓存系统,其中包括页面缓存。下面将详细介绍SpringMVC与Ehcache集成后的各级缓存机制以及页面缓存的实现。 1. SpringMVC简介: SpringMVC是Spring框架...

    Ehcache2缓存区配置详解.pdf

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

    EHCache缓存技术介绍

    【EHCache缓存技术介绍】 缓存技术是提高软件系统性能的重要手段,特别是在处理大量数据时,通过将常用数据存储在内存中,可以显著减少对硬盘或数据库的访问,从而加快数据获取速度。EHCache是一种广泛使用的开源...

    Hibernate + EhCache 实现数据缓存的处理

    总结起来,本文介绍了如何结合Hibernate和EhCache实现数据缓存,涉及了Hibernate配置、EhCache配置、实体类缓存注解以及缓存功能的测试。理解并实践这些知识点,有助于开发出更高效、响应更快的Java应用。

    ehcache缓存配置详解

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

    ehcache 缓存

    Java 缓存技术 <ehcache>      maxElementsInMemory="10000" !-- 缓存最大数目 -->  eternal="false" !-- 缓存是否持久 -->  overflowToDisk="true" !-- 是否保存到磁盘,当系统当机时-->  ...

Global site tag (gtag.js) - Google Analytics