`
yan578351314
  • 浏览: 167773 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

hibernate缓存测试

阅读更多
测试一级缓存:当用load的时候先去hibernate缓存找,不会去发送sql,但是如果你要打印查询出来的值时,如果缓存没有就发送sql,如果有就直接用缓存的值,当用get的时候先是发送sql语句,不管你第一次是否使用都会发送sql,但是以后就到缓存里面查询

* 二级缓存测试:二级缓存不是hibernate自带的缓存,需要我们自己开启缓存才可以
* 当开启二级缓存的时候所有的session共享一个sessionFactory,所以每个session
* 都会到缓存区去查询是否有过相同的操作,有相同的操作就不值取出来。
* 开启二级缓存的步骤:
* 1> 在hibernate.cfg.xml文件配置如下属性
* <property name="hibernate.cache.use_second_level_cache">true</property>
* <property name="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</property>
*  2>在映射文件中采用<cache>标签<cache usage="read-only"/>
*  这个<cache>标签只能放在<class>标签的内部,而且必须处在<id>标签的前面

/**
* 测试查询缓存:查询缓存也不是hibernate自带的缓存,它也需要配置的,你每一次调用
* list方法是hibernate都会想数据库发送一次sql,当你启用查询缓存是每一个query对象
* 都必须要开启一个查询缓存,否则,当你在创建一个查询对象是它将不会去查询缓存中搜索
* 查询缓存就是一个map,你的查询sql就是map中的key,sql查询出来的值就是map中的值
* 当调用iterator方法时,没有都会到数据库中发送sql,但是查询数据的时候,它会调用load方法
* 这时load方法会到缓存中查询了。这就是iterator和list的区别
*
*/

/**
* 实现查询缓存时,hibernate回检测一级缓存是否开启,如果符合一级缓存开启的条件
* 就在一级缓存里面查询,一级缓存存放的是实体对象,其他的都不存放,如果一级缓存
* 开启的条件不满足就查询二级缓存,二级缓存也缓存的是对象,hibernate会检查二级
* 缓存是否开启,如果开启就到二级缓存区查询,若没有开启就进入查询缓存,查询缓存
* 是一map形式存放数据的,如果是实体对象,查询缓存会存放id,如果是一般的字段,
* 查询缓存会把所有字段的值保存在map的value里面,然后把sql保存在map的key中。
*/
分享到:
评论

相关推荐

    Hibernate缓存,性能优化

    本文将深入探讨Hibernate缓存的原理、类型及其对性能优化的影响。 ### Hibernate缓存原理 Hibernate缓存主要分为一级缓存和二级缓存。一级缓存,也称为会话缓存(Session Cache),是默认启用的,由Hibernate自动...

    Hibernate一级缓存、二级缓存以及查询缓存实例

    在Java的持久化框架Hibernate中,缓存机制是优化数据库操作性能的重要手段。本文将深入探讨Hibernate的一级缓存、二级缓存以及查询缓存,通过具体的实例来阐述它们的工作原理和使用方法。 首先,我们从一级缓存开始...

    hibernate性能测试代码

    本话题将深入探讨“Hibernate性能测试代码”,以帮助我们理解如何有效地评估和优化Hibernate在实际应用中的表现。 首先,性能测试是软件开发过程中的关键环节,它旨在确定系统的响应时间、吞吐量和资源利用率等指标...

    Hibernate二级缓存

    Hibernate二级缓存是一种提高应用程序性能的技术,它将数据存储在SessionFactory级别的缓存中,使得数据可以在不同的Session之间共享。这与一级缓存(Session级别)不同,一级缓存仅存在于单个Session生命周期内,当...

    Hibernate 缓存 实例

    【Hibernate缓存实例详解】 在Java开发中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它极大地简化了数据库操作。为了提高性能,Hibernate引入了缓存机制,分为一级缓存和二级缓存。本篇文章将深入探讨...

    springboot+jpa(hibernate配置redis为二级缓存) springboot2.1.4

    在本文中,我们将深入探讨如何在Spring Boot 2.1.4.RELEASE项目中结合JPA(Java Persistence API)和Hibernate实现Redis作为二级缓存。首先,我们需要理解这些技术的基本概念。 Spring Boot 是一个用于简化Spring...

    Hibernate 框架测试版本

    **Hibernate 框架测试版本** Hibernate 是一个开源的对象关系映射(ORM)框架,它为Java开发人员提供了一种方便的方式来操作数据库。这个“Hibernate 框架测试版本”包含了一个简化的示例,旨在帮助初学者了解并...

    Hibernate缓存策略(一级缓存、二级缓存).docx

    如果在关闭Session后重新打开并尝试加载相同对象,Hibernate将不再能从一级缓存中获取,而是重新执行SQL查询,这就是第二个测试示例中出现多条SQL的原因。 二级缓存,又称为SessionFactory缓存,是可选的,跨事务的...

    hibernate5.1二级缓存包

    6. **性能调优**:根据实际应用需求和性能测试结果,调整缓存大小、过期策略等参数,以达到最佳性能。 这个"hibernate5.1二级缓存包"可能包含了相关的 JAR 包、配置示例或其他辅助文件,帮助开发者快速集成和配置 ...

    hibernate测试

    测试过程中要注意性能优化,例如,合理使用缓存(第一级缓存和第二级缓存)、批处理操作、延迟加载和集合分页等策略。 11. **异常处理** Hibernate操作可能会抛出各种异常,如ConstraintViolationException(约束...

    Hibernate缓存机制

    ### Hibernate缓存机制详解 #### 一、Hibernate缓存机制原理及配置 **1.1 Hibernate缓存概述** Hibernate作为一款流行的Java持久层框架,其缓存机制是提高应用程序性能的关键之一。缓存的主要作用在于减少数据库...

    Hibernate二级缓存技术

    – 设置Hibernate缓存提供者为EhCache –&gt; &lt;property name="cache.provider_class"&gt;org.hibernate.cache.EhCacheProvider &lt;!– 启用查询缓存 –&gt; &lt;property name="hibernate.cache.use_query_cache"&gt;true ``` 同时...

    hibernate二级缓存(包括注解方式)

    1. **Hibernate二级缓存**:在默认情况下,Hibernate只使用一级缓存(Session级别的缓存),二级缓存则可由用户自定义配置。二级缓存是多个Session共享的,可以跨事务存储对象,提高了数据读取速度,减少了对数据库...

    c3p0 hibernate缓存详细配置

    标题与描述均提到了“c3p0 Hibernate缓存详细配置”,这暗示了文章将深入探讨如何在使用Hibernate框架时,通过c3p0连接池进行优化和性能提升的细节。c3p0是一个开源的数据库连接池实现,广泛应用于Java环境中,能够...

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

    总结起来,本文介绍了如何结合Hibernate和EhCache实现数据缓存,涉及了Hibernate配置、EhCache配置、实体类缓存注解以及缓存功能的测试。理解并实践这些知识点,有助于开发出更高效、响应更快的Java应用。

    hibernate入门代码(附有测试代码)

    Hibernate支持JDBC,提供了缓存机制,同时具备事务管理和查询语言HQL(Hibernate Query Language)。 2. **配置文件** - `.classpath`:这是Eclipse项目的一个配置文件,它包含了项目的类路径,确保项目可以正确...

    hibernate二级缓存

    通过阅读和运行这个工程,开发者可以更好地理解和掌握Hibernate缓存的实践运用。 总之,理解并有效地使用Hibernate的缓存机制对于提升应用程序性能至关重要。一级缓存和二级缓存相辅相成,前者提供事务级别的高效...

    hibernate二级缓存使用范例

    在Java的持久化框架Hibernate中,缓存机制是提高应用程序性能的重要工具。它分为一级缓存和二级缓存。...在实际开发中,开发者需要根据业务需求和性能测试结果来调整缓存策略,以达到最佳的性能优化效果。

    Hibernatehibernate二级缓存.pdf

    在本文档中,我们探讨了Hibernate框架中的二级缓存机制。二级缓存是Hibernate提供的一种优化数据库访问性能的策略,它允许将数据存储在进程级别的缓存中,以便多个Session能够共享这些数据,从而减少对数据库的直接...

Global site tag (gtag.js) - Google Analytics