写的比较初级,后续将加入对配置文件,内存/磁盘存储,优化,虚拟机宕机,日志等的说明
1. EHCache 的特点,系统要求及安装
是一个纯Java ,过程中(也可以理解成插入式)缓存实现
Hibernate2.1,Spring支持EHcache嵌入,自我感觉Hibernate2.1 + EHCache 很过瘾。。(测试结果比Hibernate+JCS 好多了)
支持多CPU服务器
其版本发布前进行了产品级测试
支持:运行环境jdk1.2到5版本(源代码编译需1.4或1.5 版本)
jdk1.4和1.5 版本,需加入apache 的 commons-logging类库 http://jakarta.apache.org/commons/logging.html
jdk1.2和1.3 版本,需加入commons-collections 2.1 版本 http://jakarta.apache.org/commons/collections.html
和 xerces (xml-apis.jar and xercesImpl.jar), 2.5 版本 http://xml.apache.org/xerces2-j/
如果运行环境为IBM JDK1.4版本上的IBM Websphere 5.1,也需加入 commons-collections 类库(如需要)
单独安装Ehcache ,需把ehcache-X.X.jar 和相关类库方到classpath中。
如项目已安装了Hibernate2.1 ,则不需要做什么。。直接可以使用Ehcache
Cache 存储方式 :内存或磁盘
2. 单独使用 EHCache
使用CacheManager 创建并管理Cache
使用默认配置文件创建,在classpath中查找ehcache.xml,如果找不到则使用ehcache.jar中ehcache-failsafe.xml文件
CacheManager manager = CacheManager.create();
使用指定配置文件创建
CacheManager manager = CacheManager.create("src/config/ehcache.xml");
从classpathq找寻配置文件并创建
URL url = getClass().getResource("/anothername.xml");
CacheManager manager = CacheManager.create(url);
通过输入流创建
InputStream fis = new FileInputStream(new File("src/config/ehcache.xml").getAbsolutePath());
try {
manager = CacheManager.create(fis);
} finally {
fis.close();
}
卸载CacheManager ,关闭Cache
manager.shutdown();
使用Caches
取得配置文件中预先 定义的sampleCache1设置,生成一个Cache
Cache cache = manager.getCache("sampleCache1");
设置一个名为test 的新cache,test属性为默认
CacheManager manager = CacheManager.create();
manager.addCache("test");
设置一个名为test 的新cache,并定义其属性
CacheManager manager = CacheManager.create();
Cache cache = new Cache("test", 1, true, false, 5, 2);
manager.addCache(cache);
往cache中加入元素
Element element = new Element("key1", "value1");
cache.put(new Element(element);
从cache中取得元素
Element element = cache.get("key1");
3. 在 Hibernate 中运用EHCache
<property name="hibernate.cache.use_query_cache">true</property>
<property name="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</property>
在 Hibernate 映射文件的每个需要Cache的Domain中
<hibernate-mapping package="domain">
<class name="User" table="user">
<cache usage="read-write" />
<id name="id" column="id">
<generator class="native" />
</id>
...
加入类似如下格式信息:
比如:
然后在ehcache.xml中加入类似下面的xml内容
<?xml version="1.0" encoding="UTF-8"?>
<ehcache>
<diskStore path="java.io.tmpdir" />
<defaultCache maxElementsInMemory="300" eternal="false" timeToIdleSeconds="120" timeToLiveSeconds="120" overflowToDisk="true" diskPersistent="false"/>
<cache name="domain.User" maxElementsInMemory="300" eternal="false" timeToIdleSeconds="300"
timeToLiveSeconds="600" overflowToDisk="true" />
</ehcache>
另外在代码中要启动缓存
比如:
c = session.createCriteria(User.class);
c.setCacheable(true); //要加上这一行
List list = c.list();
相关文档:
EhCache的核心概念、存储方式、清除策略,可以查看官方文档。
EHCache.xml 配置说明可以查看官方的ehcache.xml 和 ehcache.xsd,这两个文件在ehcache的发布包中。
分享到:
相关推荐
**Ehcache 入门详解** Ehcache 是一个开源的、高性能的缓存解决方案,广泛应用于Java应用程序中,能够显著提升数据访问速度并降低数据库负载。本文将深入讲解如何自己编写泛型通用的Ehcache配置和使用,让你更好地...
在这个“ehcache缓存入门项目”中,我们将深入探讨EhCache的基本概念、配置、使用方法以及一些实用技巧。 1. **EhCache简介** EhCache是一个基于内存的分布式缓存解决方案,它可以存储对象并提供快速访问。它支持...
本入门案例将带你了解如何使用Ehcache实现分布式缓存,并特别关注如何将文件数据转换为树形结构。 首先,让我们理解Ehcache的基本概念。Ehcache的核心组件包括缓存管理器(Cache Manager)、缓存(Cache)和缓存项...
Ehcache是一款广泛使用的Java缓存库,特别适合于提高CPU和I/O密集型应用程序的性能,同时增强应用的可扩展性。它由Adam Murdoch在为SourceForge项目创建页面时灵感突发命名,因其名字是回文而得名。Ehcache自版本...
在本篇《Mybatis入门实例(二)——添加ehcache缓存支持》中,我们将深入探讨如何在Mybatis框架中集成Ehcache作为二级缓存,以提高数据访问的效率和性能。Ehcache是一个开源的Java分布式缓存,广泛用于缓存应用程序中...
本文将深入探讨如何将Ehcache与Spring进行整合,以提高应用程序的性能和效率,主要基于提供的"spring+ehcache"入门级别的demo。我们将通过JUnit进行测试,确保整合过程正确无误。 **一、Spring与Ehcache的整合** 1...
Ehcache是一个开源的、高性能的Java缓存库,它为应用程序提供...- `README.txt`:快速入门指南和项目相关信息。 通过这些资源,开发者可以深入了解Ehcache的功能,快速在项目中集成和配置Ehcache,以提升系统的性能。
Spring MVC 和 Ehcache 是两个在Java Web开发中广泛使用...这个“springmvc+ehcache简单例子”提供了入门实践,帮助开发者快速理解和掌握这两个技术的集成。在实际项目中,还需要根据具体需求进行更深入的优化和调整。
#### 三、入门指南 - **通用缓存**:介绍如何在任何Java应用中快速启用Ehcache的基本步骤。 - **Hibernate集成**:指导开发人员如何将Ehcache与Hibernate结合使用,以提高查询性能。 - **J2EE Servlet缓存**:提供...
#### 四、入门指南 ##### 3.1 通用缓存 介绍了如何使用Ehcache进行通用缓存操作的基础知识。 ##### 3.2 Hibernate集成 讲解了如何将Ehcache与Hibernate框架集成以实现二级缓存。 ##### 3.3 Java EE Servlet缓存 ...
这个压缩包包含了一个完整的、可以直接运行的SSH+Ehcache整合项目,为开发者提供了一个快速入门和学习的实例。通过研究这个项目,你可以深入了解这些技术的集成方式以及它们在实际项目中的应用。
- `QUICK-START.html`:这个文件提供了Ehcache的快速入门教程,指导用户如何快速集成Ehcache到他们的Java应用中,包括添加依赖、配置缓存和使用缓存API。 5. **许可证信息**: - `licenses`目录:包含了Ehcache...
标题中的“axis webservic ehcache.zip”是一个包含 Axis Web服务和Ehcache集成的入门示例的压缩文件。Axis是Apache软件基金会开发的一个开源Web服务框架,它用于创建和部署SOAP(简单对象访问协议)服务。Ehcache则...
本教程将带你入门NoSQL的世界,特别是聚焦于Redis、Memcached和EnCache这三种流行的数据存储系统。 **Redis** 是一个开源的、基于键值对的数据存储系统,支持多种数据结构如字符串、哈希、列表、集合和有序集合。它...
### 三、应用实践:从入门到精通 #### 3.1 通用缓存应用 无论是常规数据缓存、Hibernate框架整合还是Java EE Servlet缓存,Ehcache均能提供简便而强大的解决方案。JCACHE风格的缓存机制进一步拓展了其适用范围。 ...
在本文中,我们将探讨Ehcache的基本概念以及如何在项目中进行入门级的配置和使用。 1. **Ehcache的特点** - **内存优先**:Ehcache主要基于内存缓存,提供高速的数据存取。 - **磁盘辅助**:当内存中的缓存达到...
Ehcache 3.x产品线目前是开发产品线。 生成状态: 有关更多信息,您可能需要查看 。 新API入门 有关示例,文档和使用信息,请访问 。 当前的版本 我们于2020年8月25日发布了3.9.0。 包含指向工件和文档的链接,以...
本篇文章将详细讲解基于Spring、SpringMVC、MyBatis、SpringSecurity、EhCache和JCaptcha这六大组件构建的Web框架。 1. **Spring**: Spring作为整个框架的核心,提供了依赖注入(DI)和面向切面编程(AOP)等特性...
### JAVA缓存入门文档:EHCache #### 一、EHCache简介 EHCache 是一个纯 Java 缓存实现,主要用于提高应用程序性能。它通过在内存中缓存数据来减少对数据库或其他外部系统的调用次数,从而加快应用响应速度。...
- **Caching**:为了提高性能,可以集成缓存机制,如 EhCache 或 Redis,存储用户权限信息。 - **Session 共享**:在分布式系统中,需要处理跨服务器的会话共享问题,Shiro 提供了基于 Redis 的 Session Manager ...