EHCache的使用场合
1比较少更新表数据
EhCache一般要使用在比较少执行write操作的表(包括update,insert,delete等)[Hibernate的二级缓存也都是这样];
2 对并发要求不是很严格的情况
两台机子中的缓存是不能实时同步的;
这是一个简单的 ehcache 对象缓存 例子
ehcache 对象缓存 的配置
hibernate配置文件
<session-factory>
<property name="connection.username">root</property>
<property name="connection.url">
jdbc:mysql://localhost/test
</property>
<property name="dialect">
org.hibernate.dialect.MySQLDialect
</property>
<property name="myeclipse.connection.profile">mysql</property>
<property name="connection.password">root</property>
<property name="connection.driver_class">
com.mysql.jdbc.Driver
</property>
<property name="hbm2ddl.auto">update</property>
<property name="show_sql">true</property>
<!-- 设置Hibernate的缓存接口类,这个类在Hibernate包中 -->
<property name="cache.provider_class">org.hibernate.cache.EhCacheProvider</property>
<!-- 是否启用查询缓存 -->
<property name="cache.use_query_cache">true</property>
<mapping resource="com/cache/entity/User.hbm.xml" />
</session-factory>
ehcache.xml 配置
<defaultCache
maxElementsInMemory="10000"
eternal="false"
overflowToDisk="true"
timeToIdleSeconds="300"
timeToLiveSeconds="180"
diskPersistent="false"
diskExpiryThreadIntervalSeconds= "120">
</defaultCache>
在src 下放入 ehcache.xml、ehcache.xsd
java代码:
/**
* @{#} 类名称: EhCache.java
* 创建时间: Aug 31, 2009 2:31:05 PM
*
*/
package com.cache.test;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import com.cache.utils.HibernateSessionFactory;
/**
* @作者 <a href="http://qing393260529.iteye.com">黎青春</a>
* @版本 1.0
*/
public class EhCache {
public static void main(String[] args) {
Session s = HibernateSessionFactory.getSession();
Query query =s.createQuery("from User");
query.setCacheable(true); //这句必须要有
System.out.println("第一次读取");
List l = query.list();
System.out.println(l.size());
HibernateSessionFactory.closeSession();
s = HibernateSessionFactory.getSession();
query = s.createQuery("from User");
query.setCacheable(true); //这句必须要有
System.out.println("第二次读取");
l = query.list();
System.out.println(l.size());
HibernateSessionFactory.closeSession();
}
}
分享到:
相关推荐
EhCache是一款开源的、高性能的内存缓存解决方案,它可以缓存对象,减轻数据库的压力,提高应用的响应速度。 首先,我们需要配置Hibernate以使用EhCache。在`hibernate.cfg.xml`配置文件中,我们需要添加EhCache的...
Hibernate EhCache 二级缓存配置 Hibernate EhCache 二级缓存配置是 Hibernate 框架中的一种缓存机制,它可以提高应用程序的性能和效率。下面是关于 Hibernate EhCache 二级缓存配置的详细知识点: 一、简介 ...
这篇博客文章“hibernate缓存ehcache用法”可能详细介绍了如何在Hibernate中配置和使用Ehcache。 首先,我们需要理解什么是缓存。缓存是一种存储技术,用于临时保存经常访问的数据,以减少对主存储器(如数据库)的...
4. **配置 Ehcache**:在 Hibernate 的 `hibernate.cfg.xml` 文件中,需要引入 Ehcache 的配置,包括指定缓存 provider、设置缓存区域、定义缓存策略(如时间过期、大小限制等)。 5. **缓存策略**:Ehcache 提供了...
在Spring Boot的基础上,我们常常会整合其他技术,如Hibernate和Ehcache,来构建高效的数据存储和缓存解决方案。Maven作为Java项目的构建工具,负责管理项目的依赖关系。在这个源码包中,我们将探讨如何将这些组件...
Ehcache 是一款广泛使用的开源Java缓存解决方案,它可以用于存储页面、对象和数据,以提升应用程序的性能和响应速度。Ehcache 提供了内存和磁盘存储的支持,并且包含多种淘汰策略,如LRU(Least Recently Used)、...
- 在Hibernate配置文件(如`hibernate.cfg.xml`)中启用二级缓存并指定Ehcache为缓存提供者。 - 配置Ehcache的XML配置文件,定义缓存区域、大小、过期策略等。 - 在实体类或映射文件中启用缓存,并指定缓存策略。 4...
4. **Ehcache**:Ehcache是一个广泛使用的Java缓存系统,它可以缓存对象,减少数据库的访问,从而提高应用性能。Ehcache支持内存和磁盘存储,并且能够与Hibernate和其他框架无缝集成。它提供了一套API,允许开发者...
合理配置Ehcache和Hibernate的缓存策略,如缓存更新策略、缓存区域大小、缓存超时时间等,可以进一步优化性能。同时,需要注意缓存数据的一致性问题,避免因为缓存中的旧数据导致的错误。 总的来说,Hibernate整合...
Hibernate+ehcache二级缓存技术 Hibernate+ehcache二级缓存技术
本文将详细介绍如何在Spring3和Hibernate4环境下整合Ehcache,实现数据缓存功能,以提高应用性能。 1. **Spring3与Hibernate4整合** 在Spring3中配置Hibernate4,我们需要在配置文件中定义SessionFactory,并使用...
在本压缩包“hibernate二级缓存包”中,重点包含的是 Ehcache 这个流行且广泛使用的二级缓存实现。 Ehcache 是一个开源的、高性能的缓存解决方案,它可以被集成到各种Java应用中,包括Hibernate框架。Ehcache 提供...
4. **Ehcache**:Ehcache是一个内存缓存系统,它可以缓存对象以减少对数据库的访问,从而提高性能。在Java应用中,Ehcache可以与Hibernate一起工作,缓存经常查询的数据,避免频繁的数据库交互。 整合过程可能包括...
在实际应用中,开发者需要根据项目需求调整这些配置,例如设置数据库连接参数、配置Ehcache缓存策略、定义SpringMVC的拦截器和视图解析器等。此外,还需要确保所有的依赖库已正确导入,以便项目能够顺利运行。这样的...
本项目为基于org.hibernate-ehcache框架设计的Ehcache缓存查询工具源码,总计包含35个文件,涵盖6个XML配置文件、6个Java源文件、6个类文件、4个IDE偏好设置文件、3个Markdown文档、2个Excel表格、2个Manifest文件...
当从查询缓存中获取对象列表时,由于二级缓存关闭,Hibernate无法直接获取完整的对象,只能获取到对象的ID。随后,对于列表中的每个ID,Hibernate会单独查询二级缓存获取对象,导致大量额外的数据库查询。因此,在...
5. 应用到查询:对于查询结果,可以使用`SessionFactory.getCache()`方法获取二级缓存对象,然后进行相关的读写操作。 在源码实例中,你可以看到如何在代码层面与二级缓存进行交互,例如通过SessionFactory的get...
Hibernate 是一个流行的对象关系映射(ORM)框架,它提供了数据缓存机制以优化数据库访问性能。缓存机制分为一级缓存和二级缓存,两者都有助于减少对物理数据库的直接访问,从而提高应用程序的运行效率。 一级缓存...
ehcache是Hibernate官方推荐的二级缓存实现,它是一个高性能、轻量级的缓存框架。使用ehcache可以将频繁访问的数据存储在内存中,避免了频繁的数据库交互,从而提高了系统的响应速度。ehcache具有可扩展性,支持磁盘...