`
qianhao_1987
  • 浏览: 21180 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

缓存之Ehcache

阅读更多
Ehcache分布式缓存配置

一、简介
 1、从Hibernate项目发展起来,已经被Terracotta收购开发统一的缓存的解决放啊
 2、持续的维护和发布中
 3、标准的缓存支持(最大数配置、移除算法、磁盘持久化、重启缓存持久化)
 4、分布式缓存(RMI、Jgroups、JMS)
 5、集中式缓存(类似Memcached)
 6、页面缓存技术(OScache)
二、Ehcahe主要配置说明
   maxElementsInMemory=10000 缓存最大数目
   eternal="false" 缓存是否持久 
   overflowToDisk="true" 是否保存到磁盘
   timeToIdleSeconds="300" 多长时间不访问该缓存,ehcache就清除缓存
   timeToLiveSeconds="180" 缓存的存活时间,从开始创建算起
三、缓存策略说明
   1、FIFO:先进先出
   2、LFU:一直以来使用最少的,缓存的元素有一个hit属性,hit值越小的将会被清除缓存
   3、LRU:最近最少使用的,缓存的元素有个时间戳,当缓存容量满了,又腾不出地方来缓存新的元素的时候,那么现有缓存中时间戳离当前时间最远的元素将被清除缓存
四、分布式集群配置
    ehcache提供三种网络连接策略来实现集群rmi,jgroup还有jms。这里只说rmi方式。
   具体说明,配置cacheManagerPeerListenerFactory是配宿主主机配置监听程序来发现其他主机发来的同步请求配置cacheManagerPeerProviderFactory是指定除自身之外的网络群体中其他提供同步的主机列表用“|”分开不同的主机。
下面的例子的测试过程是主B缓存开启,并从名为UserCache的缓存中循环抓取键值为“key1”的元素。直到取到才退出循环。主机A缓存启动,并在名为UserCache的缓存中放入键值为“key1”的元素。显然,如果主机B取到的元素。那么就证明同步成功,也就是集群成功。所以在测试过程中先启动主机B的测试程序,在启动主机A的测试程序。
   下面具体说配置文件:
1.主机A的配置文件
config/ehcache_cluster.xml
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    xsi:noNamespaceSchemaLocation="ehcache.xsd">  
     <cacheManagerPeerProviderFactory  class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory"
properties="peerDiscovery=manual,rmiUrls=//192.168.1.254:40000/UserCache" /> 
<cacheManagerPeerListenerFactory  class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory" 
properties="hostName=192.168.1.126,port=40000,socketTimeoutMillis=120000" />
   <defaultCache 
maxElementsInMemory="10000"eternal="false
timeToIdleSeconds="120"timeToLiveSeconds="120"
overflowToDisk="true"diskSpoolBufferSizeMB="30"
maxElementsOnDisk="10000000"diskPersistent="false"
diskExpiryThreadIntervalSecon="120"
memoryStoreEvictionPolicy="LRU">
<cacheEventListenerFactory class="net.sf.ehcache.distribution.RMICacheReplicatorFactory" <cacheEventListenerFactory />
<defaultCache/>
<cache name="UserCache"
maxElementsInMemory="1000"eternal="false" timeToIdleSeconds="100000"timeToLiveSeconds="100000"
overflowToDisk="false">
    <cacheEventListenerFactor class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"/>
</cache>
</ehcache>

2.主机B的配置文件
   与A机类似,将  cacheManagerPeerProviderFactorcacheManagerPeerListenerFactory中的IP,端口互换即可。
3.分布式主要类RMICacheReplicatorFactory属性说明
 
 class使用net.sf.ehcache.distribution.RMICacheReplicatorFactory
这个工厂支持以下属性:
replicatePuts=true | false – 当一个新元素增加到缓存中的时候是否要复制到其他的peers。默认是true。
replicateUpdates=true | false – 当一个已经在缓存中存在的元素被覆盖时是否要进行复制。默认是true。
replicateRemovals= true | false – 当元素移除的时候是否进行复制。默认是true。
replicateAsynchronously=true | false – 复制方式是异步的指定为true时,还是同步的,指定为false时。默认是true。
replicateUpdatesViaCopy=true | false – 当一个元素被拷贝到其他的cache中时是否进行复制指定为true时为复制,默认是true。
分享到:
评论

相关推荐

    基于java的开发源码-ehcache(Java缓存框架 EhCache).zip

    基于java的开发源码-ehcache(Java缓存框架 EhCache).zip 基于java的开发源码-ehcache(Java缓存框架 EhCache).zip 基于java的开发源码-ehcache(Java缓存框架 EhCache).zip 基于java的开发源码-ehcache(Java缓存框架 ...

    Java缓存框架 EhCache

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

    spring + ehcache + redis两级缓存

    当我们谈论“Spring + Ehcache + Redis”两级缓存时,我们实际上是在讨论如何在Java环境中利用Spring框架来集成Ehcache作为本地缓存,并利用Redis作为分布式二级缓存,构建一个高效且可扩展的缓存解决方案。...

    ehcache页面缓存技术

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

    Java缓存框架 Ehcache.zip

    EhCache 是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认的CacheProvider。 下图是 Ehcache 在应用程序中的位置: 主要的特性有: 1. 快速.2. 简单.3. 多种缓存策略4. 缓存数据有两级:...

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

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

    ehcache(Java缓存框架 EhCache)

    ehcache(Java缓存框架 EhCache)

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

    Ehcache则是一款广泛使用的开源缓存解决方案,用于提高应用程序性能,减少数据库负载。本篇文章将详细探讨如何在Spring框架中集成并实现基于方法的缓存机制,利用Ehcache来优化数据访问。 首先,我们需要理解Spring...

    开源缓存包 EHCache 全接触

    **开源缓存包 EHCache 全接触** EHCache 是一个广泛使用的开源 Java 缓存解决方案,它被设计用于提高应用程序的性能和响应速度,通过存储数据到内存中,避免了频繁的数据库访问。EHCache 适用于多种场景,包括 Web ...

    java 缓存插件ehcache 应用实例

    Ehcache是一款广泛使用的开源Java缓存框架,尤其在处理大量数据时,它可以显著提升应用程序的效率。本文将深入探讨Ehcache在实际应用中的实例。 一、Ehcache简介 Ehcache是由Terracotta公司开发的高性能、易用的...

    JAVA源码ehcache(Java缓存框架EhCache)

    JAVA源码ehcache(Java缓存框架EhCache)

    java源码:ehcache(Java缓存框架 EhCache).rar

    EhCache是一个开源的Java缓存框架,广泛用于提高应用程序的性能和响应速度。它允许在内存中存储数据,减少对数据库的访问,从而优化系统性能。以下是对EhCache框架的一些关键知识点的详细说明: 1. **缓存概念**: ...

    ehcache缓存配置详解

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

    Ehcache缓存

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

    ehcache(Java缓存框架 EhCache).7z

    在Java世界中,缓存是优化系统性能的关键技术之一,它通过存储经常访问的数据来减少对数据库的访问,从而降低系统负载。EhCache作为其中的佼佼者,因其易用性、高效性和可扩展性而备受青睐。 EhCache的核心特性包括...

    缓存框架-Ehcache学习笔记

    **缓存框架 Ehcache 学习笔记** Ehcache 是一个广泛使用的开源 Java 缓存框架,它在处理大量数据的高性能应用中扮演着重要角色。Ehcache 提供了本地内存缓存、磁盘存储以及分布式缓存的能力,使得应用程序能够快速...

    java资源ehcache(Java缓存框架EhCache)

    java资源ehcache(Java缓存框架 EhCache)提取方式是百度网盘分享地址

    基于java的ehcache(Java缓存框架 EhCache).zip

    EhCache是一个高性能、易用且广泛应用于Java环境中的分布式缓存框架。它主要用于提高应用程序的性能和响应速度,通过存储经常访问的数据到内存中,避免频繁地从数据库或者其他慢速资源中读取数据。本资料包将详细...

    hibernate缓存ehcache用法

    这篇博客文章“hibernate缓存ehcache用法”可能详细介绍了如何在Hibernate中配置和使用Ehcache。 首先,我们需要理解什么是缓存。缓存是一种存储技术,用于临时保存经常访问的数据,以减少对主存储器(如数据库)的...

    Spring Boot的EhCache缓存使用.docx

    在Spring Boot应用中,缓存是提升性能的关键技术之一。默认情况下,Spring Boot的`@EnableCaching`注解会使用`ConcurrentHashMap`作为基本的缓存管理器。然而,对于生产环境,我们通常需要更强大的缓存解决方案,如...

Global site tag (gtag.js) - Google Analytics