今天在使用hibernate的时候要配置二级缓存,给大家分享一下二级缓存的配置方法
*********实现OSCache二级缓存的配置方案***********
1.首先我们需要在hibernate.cfg.xml中配置几个属性:
<!-- 是否开启二级缓存,缺省为开启 -->
< property name ="cache.use_second_level_cache" > true </ property >
<!-- 选择第三方缓存框架支持 -->
< property name ="cache.provider_class" > org.hibernate.cache.OSCacheProvider </ property >
为了能够查看二级缓存的使用效果,还可以配置:
< property name ="generate_statistics" > true </ property >
2.然后是哪些类需要配置二级缓存:(举例User实体类)
< class-cache class ="com.sy.vo.User" usage ="read-write" />
其中usage是策略,属性值:
read-only:只读,效率最高。
read-write:读写,效率较低。但是能保证并发正确性。
nonstrict-read-write:非严格的读写,效率较高,不用加锁,不能保证并发正确性。例如帖子浏览量。
transactional:事务性缓存,可回滚缓存数据,一般缓存框架不带有此功能,实现很复杂。
这样hibernate.cfg.xml就配置完了。
3.配置映射文件User.hbm.xml,加入这句代码:
< cache usage ="read-write" />
4.加入oscache.properties配置文件到classPath下,这个文件在hibernate源码包中有。里面
有很多属性可以设置,如果只是简单实现,不需要修改。不修改的情况下,只有一个配置,是
配置二级缓存的大小,这个视本机内存而定。默认1000。
其中还有一个分布式的配置,可以设置主机IP等等。由于资源有限,我没有做实验。在此不做过多介绍。
OK,配置完成!
----------------------------------------------------------------------------------------------------------
写一个测试类,测试吧。
补充一个测试方法:
Statistics st = HibernateUtil.getSessionFactory().getStatistics();
通过输出st的信息,可以查看缓存的使用情况。
再补充一个清除二级缓存的方法:
HibernateUtil.getSessionFactory().evict(User. class ); // 清除一个实体类的所有缓存
HibernateUtil.getSessionFactory().evict(User. class ,id); // 清除单条缓存
分享到:
相关推荐
OSCache作为二级缓存的实现,提供了高效、可配置的缓存服务。它可以缓存对象、集合甚至整个页面,有助于减少数据库负载。在本实例中,我们将看到如何配置OSCache与Hibernate集成,以及如何在实际项目中使用这些缓存...
Spring 3.1 引入了激动人心的基于注释(annotation)的缓存(cache)技术,它本质上不是一个具体的缓存实现方案(例如 EHCache 或者 OSCache),而是一个对缓存使用的抽象,通过在既有代码中添加少量它定义的各种 ...
osCache的配置主要通过XML文件完成,包括缓存配置、更新策略、缓存监听器等。例如: ```xml diskPersistent="false" timeToIdleSeconds="120" timeToLiveSeconds="120" memoryStoreEvictionPolicy="LRU"> ``` 在...
总之,Hibernate 结合 OSCache 实现的二级缓存能够显著提升数据读取效率,降低数据库压力,但需要注意合理配置和使用,以确保最佳性能和数据一致性。在实际项目中,应根据具体业务场景选择合适的缓存策略,并持续...
例如,在Hibernate中启用osCache,可以实现二级缓存,进一步提高ORM操作的效率。 7. **序列化支持**:osCache支持对象的序列化,这意味着不仅可以缓存基本类型和字符串,还可以缓存复杂的对象结构。 8. **性能优化...
这个项目中的二级缓存可能使用了EhCache或OSCache等第三方缓存解决方案,将经常访问的数据存储在内存中,减少数据库查询次数,提高响应速度。 **业务封装** 是指将业务逻辑抽象出来,形成独立的服务或组件,以便于...
OSCache 是一个强大的开源缓存解决方案,主要用于提升 Java Web 应用程序的性能。它能够缓存页面内容,减轻数据库压力,并减少服务器的资源消耗。本文将详细介绍 OSCache 的配置和使用方法。 **一、缓存整个页面** ...
OSCache是开源的Java缓存解决方案,主要用于提高Web应用程序的性能和响应速度。它是由OpenSymphony团队开发的,能够缓存对象、SQL查询...在实践中,还可以考虑与其他技术,如Hibernate的二级缓存集成,进一步提升性能。
- **外置缓存的实现**:由于二级缓存是可配置的,因此可以根据具体需求选择不同的实现方案。常见的二级缓存插件有Ehcache、OSCache等。 - **数据一致性问题**:由于二级缓存中的数据是数据库数据的副本,因此需要...
**osCache 是一款高效、轻量级的 Java 缓存框架,主要用于提高应用程序的性能和减少对数据库的访问。在本文中,我们将深入探讨 osCache 的核心概念、使用场景以及如何在项目中有效地利用它。** ### 一、缓存的重要...
总结,OSCache作为一个强大的缓存解决方案,为企业级Java应用提供了高性能的缓存支持。理解和熟练运用OSCache,有助于提升系统的运行效率,降低数据库压力,从而优化整体架构。在实际开发中,我们需要根据项目需求,...
“工具”可能指的是使用特定的缓存工具,如Oscache,它是Hibernate常用的二级缓存解决方案之一。 【压缩包子文件的文件名称列表】: 1. Oscache_入门.doc:这是关于Oscache的介绍文档,可能包含Oscache的基本概念、...
Hibernate支持多种二级缓存插件,如EHCache、OSCache、SwarmCache、JBossCache和TreeCache。以EHCache为例,配置通常在`hibernate.cfg.xml`文件中完成,你需要声明`CacheProvider`为EHCache,并设置相关属性,如缓存...
OSCache是Java应用程序中常用的缓存解决方案之一,尤其在J2EE系统中,它能显著提升系统的运行性能。本文将深入解析OSCache的工作原理、主要功能以及如何在实际项目中应用,以帮助开发者理解并有效地利用这个工具。 ...
在 JSP 页面中,可以通过以下方式使用 OSCache 标签库进行缓存配置: ```jsp <%@ taglib uri="http://www.opensymphony.com/oscache" prefix="oscache" %> <oscache:cache page="true" timeToLive="600"> <!-- ...
oscache-2.3.jar是专门为Java应用程序设计的一个高效、轻量级的缓存框架,由OpenSymphony开源组织开发。本文将深入探讨oscache的核心功能、工作原理及其在实际应用中的价值。 一、oscache简介 oscache全称为...
在JSP开发中,使用...配置Hibernate的二级缓存,需要在`hibernate.cfg.xml`文件中进行设置。首先,开启二级缓存和查询缓存,如下所示: ```xml <property name="hibernate.cache.use_second_level_cache">true ...