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

Ehcache利用Terracotta方式同步缓存

阅读更多
http://blog.csdn.net/gtuu0123/archive/2009/12/13/4997349.aspx
  Ehcache利用Terracotta方式同步缓存 收藏
1.下载并安装Terracotta

http://www.terracotta.org/

2.启动Terracotta

bin/start-tc-server.bat 或 bin/start-tc-server.sh

3.代码
Set值类:

view plaincopy to clipboardprint?
package my.test.terracotta; 
 
import java.io.InputStream; 
 
import my.test.ehcache1.EHCacheTest; 
import net.sf.ehcache.Cache; 
import net.sf.ehcache.CacheManager; 
import net.sf.ehcache.Element; 
 
public class TestTerracottaSet { 
     
    public TestTerracottaSet() { 
        InputStream is = EHCacheTest.class.getResourceAsStream("/my/test/terracotta/ehcache.xml"); 
        CacheManager cacheManager = new CacheManager(is); 
        Cache cache = cacheManager.getCache("sampleTerracottaCache"); 
        for (int i = 0; i < 1001; i++) { 
            cache.put(new Element("key" + i, "value" + i)); 
        } 
    } 
 
    public static void main(String[] args) throws Exception { 
        new TestTerracottaSet(); 
    } 


Get值类:

view plaincopy to clipboardprint?
package my.test.terracotta; 
 
import java.io.InputStream; 
 
import my.test.ehcache1.EHCacheTest; 
import net.sf.ehcache.Cache; 
import net.sf.ehcache.CacheManager; 
import net.sf.ehcache.Element; 
 
public class TestTerracottaGet { 
     
    public TestTerracottaGet() { 
        InputStream is = EHCacheTest.class.getResourceAsStream("/my/test/terracotta/ehcache.xml"); 
        CacheManager cacheManager = new CacheManager(is); 
        Cache cache = cacheManager.getCache("sampleTerracottaCache"); 
        for (int i = 0; i < 1001; i++) { 
            Element elem = cache.get("key" + i); 
            if (elem == null) { 
                System.out.println("key" + i + " not found"); 
            } else { 
                System.out.println("key" + i + "=" + elem.getValue()); 
            } 
        } 
    } 
 
    public static void main(String[] args) throws Exception { 
        new TestTerracottaGet(); 
    } 


配置文件:修改官方样例配置文件,添加

view plaincopy to clipboardprint?
<terracottaConfig url="localhost:9510"/> 

view plaincopy to clipboardprint?
<cache name="sampleTerracottaCache" 
           maxElementsInMemory="1000" 
           eternal="false" 
           timeToIdleSeconds="3600" 
           timeToLiveSeconds="1800" 
           overflowToDisk="false"> 
        <terracotta/> 
    </cache> 

这是利用Terracotta服务器来进行缓存同步

4.运行

(1)先运行TestTerracottaSet类

(2)再运行TestTerracottaGet类

(3)运行结果:

key0=value0
key1=value1
key2=value2
key3=value3
key4=value4
key5=value5
key6=value6
key7=value7
key8=value8
key9=value9
key10=value10
......

key1000=value1000

可以通过Terrocotta控制台查看缓存情况,如图:

  • 大小: 92 KB
分享到:
评论

相关推荐

    ehcache-terracotta代码配置

    Terracotta通过一个中心节点管理所有缓存实例,确保数据的一致性和同步。 3. 配置Ehcache 首先,你需要在项目中添加Ehcache和Terracotta的依赖。在Maven项目中,可以在pom.xml文件中添加如下依赖: ```xml ...

    ehcache项目缓存技术

    3. **分布式缓存**:Ehcache支持分布式部署,通过 Terracotta Server 集群,可以在多台服务器间共享和同步缓存,提供高可用性和负载均衡。 4. **缓存策略**:除了LRU和LFU,Ehcache还提供了TTL(Time To Live)和...

    Ehcache缓存

    2. **分布式缓存**:通过添加Terracotta服务器,Ehcache可以实现分布式缓存,让多台服务器共享同一份缓存,提高系统的可扩展性。 3. **缓存预热**:启动时预先加载一部分常用数据到缓存,减少用户等待时间。 4. **...

    Java缓存框架 EhCache

    3. **多级缓存**:EhCache支持构建分布式缓存系统,通过Terracotta服务器实现多个节点之间的缓存共享,形成分布式缓存集群。这使得多台服务器上的应用可以共享同一份缓存,提高数据一致性并分散负载。 4. **缓存...

    缓存框架-Ehcache学习笔记

    Ehcache 支持通过 Terracotta 平台实现集群间的缓存同步。 ### 3. Ehcache 使用 - **配置**: Ehcache 配置可以通过 XML 文件或 Java API 进行。XML 文件通常命名为 `ehcache.xml`,包含缓存的大小、过期策略等设置...

    ehcache使用,以及集群配置

    3. **共享缓存**: 当多个Ehcache客户端连接到同一Terracotta Server时,它们将共享同一份缓存数据。这意味着对缓存的任何修改都会立即同步到其他节点。 4. **故障转移**: 如果一个服务器宕机,Ehcache可以自动切换...

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

    - 配置Ehcache以利用分布式特性,确保多个应用服务器间的缓存同步。 通过上述步骤,Ehcache 可以有效地整合到Spring环境中,实现页面和对象级别的缓存,从而显著提高应用程序的性能。同时,Ehcache的灵活性和扩展...

    ehcache缓存依赖的jar

    Ehcache可能与其他库有依赖关系,比如为了实现分布式缓存,可能需要`terracotta-apis`和`terracotta-platform`等相关JARs。这些库提供了集群和分布式缓存的支持,使得Ehcache能够在多台服务器之间共享数据,提高可...

    ehcache所需jar包

    3. **ehcache-terracotta-2.5.2.jar**:这是Ehcache与Terracotta集成的模块,使得Ehcache能够利用Terracotta的集群能力。它实现了将本地Ehcache实例与其他服务器上的Ehcache实例进行通信和同步,以创建一个分布式的...

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

    EhCache是一个开源的、高性能的Java分布式缓存系统,常...理解并熟练掌握EhCache的各项配置选项,可以帮助我们更好地利用缓存系统,优化应用性能。在实际使用中,应结合具体业务场景,合理调整配置,以达到最佳效果。

    Java流行ehcache缓存

    - **分布式缓存**:在分布式环境中,通过Terracotta服务器实现Ehcache的集群,共享缓存数据。 7. **最佳实践** - **缓存设计**:根据业务需求合理设计缓存策略,避免过度缓存导致资源浪费。 - **监控和调优**:...

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

    5. 分布式特性:Ehcache支持Terracotta服务器,实现真正的分布式缓存。当数据在一台机器上更新时,其他节点会自动同步,确保数据一致性。 关于“文件转树结构”,这通常涉及到文件内容的解析和组织。在Java中,可以...

    ehcache 缓存

    1. **Terracotta服务器**: Ehcache通过集成Terracotta服务器,可以实现跨JVM的分布式缓存,提高多节点间的缓存共享和一致性。 2. **复制策略**: 分布式缓存中,当在一个节点上添加、更新或移除元素时,这些操作可以...

    ehcache分布式缓存实例

    在Ehcache中,RMI可以用来实现节点间的通信,同步缓存数据。以下是Ehcache实现RMI分布式缓存的基本步骤: 1. 创建Ehcache配置:定义缓存的大小、存活时间、过期时间等参数,并配置分布式缓存的设置,例如启用RMI...

    Ehcache 简单的监控

    对于监控Ehcache,我们可以利用Ehcache提供的管理工具和API来查看缓存的运行状态。Ehcache提供了JMX(Java Management Extensions)支持,允许我们通过JMX客户端工具(如jconsole或VisualVM)来监控缓存的大小、命中...

    高并发缓存器(基于ehcache)

    Ehcache支持本地缓存、分布式缓存和 terracotta 集群模式,广泛应用于Java Web应用和企业级系统中。其主要特性包括: 1. **内存和磁盘存储**:Ehcache允许将数据存储在内存中,当内存不足时,可以自动将部分数据...

    EHcache缓存框架

    **EHcache缓存框架** EHcache是一款开源的Java缓存框架,它被广泛应用于提高应用程序的性能和响应速度,通过存储频繁访问...在实际应用中,理解并掌握其核心概念和配置方法,有助于我们有效地利用缓存,优化系统性能。

    Ehcache2缓存区配置详解.pdf

    - **overflowToOffHeap**:仅在使用Ehcache企业版时有效,若设置为true,则缓存将利用非堆内存存储,从而不受Java垃圾回收机制的影响。 这些配置项为Ehcache提供了高度定制化的能力,使开发人员能够根据具体应用...

    ehcache 缓存技术

    4. **缓存同步:**在分布式环境中,通过Terracotta服务器实现多个节点间的缓存同步。 **五、Java开源缓存框架分类列表** 除了EHCache,Java世界还有其他缓存框架,如: 1. **Guava Cache:**Google提供的Guava库...

Global site tag (gtag.js) - Google Analytics