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

hibernate ehcache 对象缓存

阅读更多

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();

 }
 
}
  

分享到:
评论

相关推荐

    Hibernate + EhCache 实现数据缓存的处理

    EhCache是一款开源的、高性能的内存缓存解决方案,它可以缓存对象,减轻数据库的压力,提高应用的响应速度。 首先,我们需要配置Hibernate以使用EhCache。在`hibernate.cfg.xml`配置文件中,我们需要添加EhCache的...

    Hibernate EhCache 二级缓存配置.docx

    Hibernate EhCache 二级缓存配置 Hibernate EhCache 二级缓存配置是 Hibernate 框架中的一种缓存机制,它可以提高应用程序的性能和效率。下面是关于 Hibernate EhCache 二级缓存配置的详细知识点: 一、简介 ...

    hibernate缓存ehcache用法

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

    hibernate+ehcache

    4. **配置 Ehcache**:在 Hibernate 的 `hibernate.cfg.xml` 文件中,需要引入 Ehcache 的配置,包括指定缓存 provider、设置缓存区域、定义缓存策略(如时间过期、大小限制等)。 5. **缓存策略**:Ehcache 提供了...

    Spring boot hibernate ehcache maven 整合源码

    在Spring Boot的基础上,我们常常会整合其他技术,如Hibernate和Ehcache,来构建高效的数据存储和缓存解决方案。Maven作为Java项目的构建工具,负责管理项目的依赖关系。在这个源码包中,我们将探讨如何将这些组件...

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

    Ehcache 是一款广泛使用的开源Java缓存解决方案,它可以用于存储页面、对象和数据,以提升应用程序的性能和响应速度。Ehcache 提供了内存和磁盘存储的支持,并且包含多种淘汰策略,如LRU(Least Recently Used)、...

    hibernate+ehcache jar包

    - 在Hibernate配置文件(如`hibernate.cfg.xml`)中启用二级缓存并指定Ehcache为缓存提供者。 - 配置Ehcache的XML配置文件,定义缓存区域、大小、过期策略等。 - 在实体类或映射文件中启用缓存,并指定缓存策略。 4...

    spring,spring mvc,hibernate,ehcache JavaWeb后台框架

    4. **Ehcache**:Ehcache是一个广泛使用的Java缓存系统,它可以缓存对象,减少数据库的访问,从而提高应用性能。Ehcache支持内存和磁盘存储,并且能够与Hibernate和其他框架无缝集成。它提供了一套API,允许开发者...

    hibernate整合ehcache的jar包.zip

    合理配置Ehcache和Hibernate的缓存策略,如缓存更新策略、缓存区域大小、缓存超时时间等,可以进一步优化性能。同时,需要注意缓存数据的一致性问题,避免因为缓存中的旧数据导致的错误。 总的来说,Hibernate整合...

    Hibernate+ehcache二级缓存技术

    Hibernate+ehcache二级缓存技术 Hibernate+ehcache二级缓存技术

    spring3 hibernate4 ehcache实例

    本文将详细介绍如何在Spring3和Hibernate4环境下整合Ehcache,实现数据缓存功能,以提高应用性能。 1. **Spring3与Hibernate4整合** 在Spring3中配置Hibernate4,我们需要在配置文件中定义SessionFactory,并使用...

    hibernate二级缓存包

    在本压缩包“hibernate二级缓存包”中,重点包含的是 Ehcache 这个流行且广泛使用的二级缓存实现。 Ehcache 是一个开源的、高性能的缓存解决方案,它可以被集成到各种Java应用中,包括Hibernate框架。Ehcache 提供...

    spring struts2 hibernate ehcache整合

    4. **Ehcache**:Ehcache是一个内存缓存系统,它可以缓存对象以减少对数据库的访问,从而提高性能。在Java应用中,Ehcache可以与Hibernate一起工作,缓存经常查询的数据,避免频繁的数据库交互。 整合过程可能包括...

    springmvc4+spring4+hibernate5.1.3+二级缓存ehcache+fastjson配置

    在实际应用中,开发者需要根据项目需求调整这些配置,例如设置数据库连接参数、配置Ehcache缓存策略、定义SpringMVC的拦截器和视图解析器等。此外,还需要确保所有的依赖库已正确导入,以便项目能够顺利运行。这样的...

    基于org.hibernate-ehcache的Ehcache缓存查询工具设计源码

    本项目为基于org.hibernate-ehcache框架设计的Ehcache缓存查询工具源码,总计包含35个文件,涵盖6个XML配置文件、6个Java源文件、6个类文件、4个IDE偏好设置文件、3个Markdown文档、2个Excel表格、2个Manifest文件...

    Hibernate二级缓存

    当从查询缓存中获取对象列表时,由于二级缓存关闭,Hibernate无法直接获取完整的对象,只能获取到对象的ID。随后,对于列表中的每个ID,Hibernate会单独查询二级缓存获取对象,导致大量额外的数据库查询。因此,在...

    hibernate二级缓存实例

    5. 应用到查询:对于查询结果,可以使用`SessionFactory.getCache()`方法获取二级缓存对象,然后进行相关的读写操作。 在源码实例中,你可以看到如何在代码层面与二级缓存进行交互,例如通过SessionFactory的get...

    hibernate一级缓存和二级缓存的区别与联系

    Hibernate 是一个流行的对象关系映射(ORM)框架,它提供了数据缓存机制以优化数据库访问性能。缓存机制分为一级缓存和二级缓存,两者都有助于减少对物理数据库的直接访问,从而提高应用程序的运行效率。 一级缓存...

    Hibernate中二级缓存ehcache缓存案例

    ehcache是Hibernate官方推荐的二级缓存实现,它是一个高性能、轻量级的缓存框架。使用ehcache可以将频繁访问的数据存储在内存中,避免了频繁的数据库交互,从而提高了系统的响应速度。ehcache具有可扩展性,支持磁盘...

Global site tag (gtag.js) - Google Analytics