`

ehcache分布式例子

阅读更多
配置文件:
recluster_ehcache_0.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=//10.1.36.100:40000/UserCache"/>      
      
    <cacheManagerPeerListenerFactory      
        class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory"      
        properties="hostName=10.1.36.100,port=40001,socketTimeoutMillis=120000" />      
      
    <defaultCache maxElementsInMemory="10000" eternal="false"      
        timeToIdleSeconds="120" timeToLiveSeconds="120" overflowToDisk="true"      
        diskSpoolBufferSizeMB="30" maxElementsOnDisk="10000000"      
        diskPersistent="false" diskExpiryThreadIntervalSeconds="120"      
        memoryStoreEvictionPolicy="LRU">      
          <cacheEventListenerFactory class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"  
        properties="replicateAsynchronously=true, replicatePuts=true, replicateUpdates=true,replicateUpdatesViaCopy= false, replicateRemovals= true " />    
    </defaultCache>      
      
    <cache name="UserCache" maxElementsInMemory="1000" eternal="false"      
        timeToIdleSeconds="100000" timeToLiveSeconds="100000"      
        overflowToDisk="false">      
        <cacheEventListenerFactory class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"  
        properties="replicateAsynchronously=true, replicatePuts=true, replicateUpdates=true,replicateUpdatesViaCopy= false, replicateRemovals= true " />    
    </cache>  
   
</ehcache>    

recluster_ehcache.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=//127.0.0.1:40001/UserCache"/>      
      
    <cacheManagerPeerListenerFactory      
        class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory"      
        properties="hostName=10.1.36.100,port=40000,socketTimeoutMillis=120000" />      
      
    <defaultCache maxElementsInMemory="10000" eternal="false"      
        timeToIdleSeconds="120" timeToLiveSeconds="120" overflowToDisk="true"      
        diskSpoolBufferSizeMB="30" maxElementsOnDisk="10000000"      
        diskPersistent="false" diskExpiryThreadIntervalSeconds="120"      
        memoryStoreEvictionPolicy="LRU">      
       <cacheEventListenerFactory class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"  
        properties="replicateAsynchronously=true, replicatePuts=true, replicateUpdates=true,replicateUpdatesViaCopy= false, replicateRemovals= true " />    
    </defaultCache>      
      
    <cache name="UserCache" maxElementsInMemory="1000" eternal="false"      
        timeToIdleSeconds="100000" timeToLiveSeconds="100000"      
        overflowToDisk="false">      
          <cacheEventListenerFactory class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"  
        properties="replicateAsynchronously=true, replicatePuts=true, replicateUpdates=true,replicateUpdatesViaCopy= false, replicateRemovals= true " />   
    </cache>    
   
   
    
</ehcache>    


代码:

package cache.echache.Init;

import java.net.URL;

import net.sf.ehcache.Cache;
import net.sf.ehcache.CacheManager;
import net.sf.ehcache.Element;

public class clustertest {

/**
* @param args
* @throws InterruptedException
*/
public static void main(String[] args) throws InterruptedException{
// TODO Auto-generated method stub
//URL url = clustertest.class.getClassLoader().getResource("recluster_ehcache.xml");
CacheManager manager = new CacheManager("recluster_ehcache.xml");  

//get Cache       
Cache cache = manager.getCache("UserCache");    
Thread.sleep(10000);
Element element = new Element("key1", "value1");  
Element element1 = new Element("key12", "value1");
Element element2 = new Element("key13", "value1");
Element element3 = new Element("key14", "value1");
cache.put(element); 
cache.put(element1);
cache.put(element2);
cache.put(element3);
System.out.println("Initial:\n"//+url.toString()
+"\n"+manager.getName()
+"\n"+cache.getName()
+" 's size = "+cache.getSize()
+"\n"+element.toString());    


Element element01 = cache.get("key1");       
System.out.println(element01.getValue()); 
Element element02 = cache.get("key12");       
System.out.println(element02.getValue());
System.out.println("主机测试等待中............."); 

while(true){
Thread.sleep(1000);
}
}

}


package cache.echache.Init;

import java.net.URL;

import net.sf.ehcache.Cache;
import net.sf.ehcache.CacheManager;
import net.sf.ehcache.Element;

public class clustertest0 {

/**
* @param args
* @throws InterruptedException
*/
public static void main(String[] args) throws InterruptedException{
// TODO Auto-generated method stub
//URL url = clustertest.class.getClassLoader().getResource("recluster_ehcache.xml");

CacheManager manager = new CacheManager("recluster_ehcache_0.xml");  

//get Cache       
Cache cache = manager.getCache("UserCache");   
Thread.sleep(10000);
/*Element element = new Element("key1", "value1");  
Element element1 = new Element("key12", "value1");
Element element2 = new Element("key13", "value1");
Element element3 = new Element("key14", "value1");
cache.put(element); 
cache.put(element1);
cache.put(element2);
cache.put(element3);
System.out.println("Initial:\n"//+url.toString()
+"\n"+manager.getName()
+"\n"+cache.getName()
+" 's size = "+cache.getSize()
+"\n"+element.toString());     */

       
/*Element element01 = cache.get("key1");       
System.out.println(element01.getValue()); 
System.out.println("主机测试等待中.............");  */

while(true){
Element element01 = cache.get("key1"); 
if(null!=element01){
System.out.println(element01.getValue()); 

}
Thread.sleep(1000);
}
}

}

分享到:
评论

相关推荐

    springmvc+ehcache简单例子

    在这个“springmvc+ehcache简单例子”中,我们将探讨如何将两者结合使用,以实现高效的数据缓存。 首先,让我们了解一下Spring MVC。Spring MVC提供了一个分层架构,允许开发者将业务逻辑、数据访问和用户界面分离...

    ehcache例子

    Ehcache支持在内存和磁盘上存储数据,并且可以配置为分布式缓存,以适应大型分布式系统的需求。由于Ehcache的高效性和易用性,它成为了许多Java开发者在构建高性能应用程序时的首选缓存库。 **Ehcache在Maven项目中...

    ehCache 使用例子

    6. **分布式缓存**:当需要在多个节点间共享缓存时,ehCache提供了分布式缓存支持。这涉及到两种主要的通信机制: - **RMI(Remote Method Invocation)**:通过Java的远程方法调用来实现节点间的通信。 - **...

    spring整合EhCache 简单例子

    它支持本地缓存、分布式缓存,并且可以持久化到磁盘,以防内存溢出或服务器重启时丢失数据。EhCache提供了一套API,可以方便地在Java应用中集成和管理缓存。 2. **Spring的缓存抽象** Spring 3.1及以上版本引入了...

    ehcache 例子+文档

    在“ehcache学习的例子”中,初学者可以通过实际操作理解Ehcache的基本用法。首先,我们需要理解Ehcache的核心概念:缓存、缓存管理器、缓存区域和缓存元素。 1. 缓存:缓存是Ehcache的基本单元,存储键值对数据。...

    ehcache例子,开发工具Myeclipse8.5

    **Ehcache简介** Ehcache是一款开源的Java缓存框架,它被广泛应用于提高应用...在`ehcache_message`这个例子中,可能包含了如何使用Ehcache处理消息缓存的示例代码,可以参考学习,理解Ehcache在实际场景中的应用。

    ehcache3-samples, 关于使用 Ehcache 3,一些示例/教程.zip

    ehcache3-samples, 关于使用 Ehcache 3,一些示例/教程 Ehcache示例这里知识库包含有关 Ehcache 3用法的...示例'basic'演示 Ehcache 3的基本配置和用法'集群'- 演示如何在Terracotta服务器上使用分布式缓存功能'jsr107'

    spring整合EhCache 的简单例子

    - EhCache 是一个广泛使用的Java缓存解决方案,支持本地内存缓存和分布式缓存。 - 它提供了线程安全、可配置的缓存策略,包括LRU(Least Recently Used)和LFU(Least Frequently Used)等。 - EhCache 支持两种...

    ehcache 例子

    在本篇文章中,我们将探讨如何使用Ehcache实现一个集群例子,以及它的工作原理。 首先,我们来理解Ehcache的核心概念: 1. **缓存层**:Ehcache分为不同的层次,包括内存缓存、磁盘缓存和远程缓存。内存缓存提供...

    Ehcache(一): Spring + Ehcache开场白

    Ehcache是一款高性能、易用且广泛应用于Java环境中的分布式缓存系统,它极大地提高了应用程序的性能和响应速度。在Spring框架中集成Ehcache,能够实现数据的快速访问,减轻数据库的压力,优化整体系统架构。本文将...

    项目优化之Ehcache页面缓存

    - 分布式配置:在多服务器环境中,可以配置Ehcache实现分布式缓存,共享同一份缓存数据。 5. 代码案例 在实际应用中,我们通常通过注解或编程方式将Ehcache与Spring框架整合。以下是一个简单的示例: ```java @...

    ehcache-1.2.2.jar

    - 如果可能,考虑使用Ehcache的分布式功能以提升大规模应用的性能。 总的来说,Ehcache-1.2.2.jar为Java开发者提供了一种高效、灵活的缓存解决方案,通过合理使用,可以显著提升应用的响应速度和整体性能。同时,...

    ehcache (四)以上例子综合应用代码

    在"ehcache (四) 以上例子综合应用代码"中,我们可以预见到博主Lastsoul将展示如何将之前讨论的Ehcache用法整合进一个实际的项目中。这可能包括设置缓存策略、配置缓存大小、定义缓存过期策略以及处理缓存的并发问题...

    分布式缓存.docx

    本文将深入探讨Ehcache作为JVM缓存和分布式缓存的角色,以及Redis作为分布式缓存的解决方案,包括其分片集群、哨兵系统、数据结构、主从复制以及避免缓存问题的策略。 首先,我们了解为什么需要使用缓存。缓存的...

    Ehcache整合Spring使用页面、对象缓存

    Ehcache是基于内存的分布式缓存系统,支持本地缓存、分布式缓存和 terracotta 集群化缓存。它提供了一个简单易用的API,可以在Java应用程序中快速集成和使用。Ehcache的主要特点包括: 1. 高性能:Ehcache使用内存...

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

    在上述例子中,`User`实体需要实现`Serializable`接口,以便在进程间传递时能够正确地进行序列化和反序列化。如果不这样做,当数据在集群中传输时,可能会引发序列化相关的异常。 其次,我们需要重新配置EhCache。...

    在Spring+Hibernate集成环境中使用EhCache缓存

    EhCache是一款开源的、高性能的、内存级的分布式缓存解决方案,适用于Java应用程序。下面我们将深入探讨如何在这样的环境中配置和使用EhCache。 首先,我们需要在项目中添加EhCache的相关依赖。这通常通过在Maven或...

    Ehcache最新版本的UserGuide

    通过具体例子展示如何评估Web页面加载时间的减少,以此来量化缓存带来的性能提升。 #### 四、入门指南 ##### 3.1 通用缓存 介绍了如何使用Ehcache进行通用缓存操作的基础知识。 ##### 3.2 Hibernate集成 讲解了...

    shiro-demo使用ehcache做缓存.zip

    Ehcache 是一个广泛使用的开源Java缓存解决方案,它提供了内存和磁盘存储,以及对缓存数据的分布式管理。在高流量和数据密集型的应用中,使用缓存能够显著提高性能,减少数据库的压力。 首先,我们需要在项目中引入...

Global site tag (gtag.js) - Google Analytics