`
lvhuiqing
  • 浏览: 257927 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

Hibernate缓存机制(三)

 
阅读更多
<p>1,hibernate在查找数据的时候,会首先从一级缓存里面查找,再从二级缓存里面查找。</p>
<p>2,在缓存里找到的话,叫做“命中”。如果命中率过低的话,会导致使用二级缓存反而降低效率的问题。</p>
<p>3,如果想要观察二级缓存的命中率等信息,可以把统计信息打开</p>
<p> &lt;property name="generate_statistics"&gt;true&lt;/property &gt;</p>
<p> 设置完成后,可以打印出统计信息:</p>
<p> Statistics st=HibernateUtil.getSessionFactory().getStatistics();</p>
<p> System.out.println(st);</p>
<p>4,save()方法也会导致数据放入二级缓存,但是这个主键生成器有关系,如果是native的话,不会放入。如果是"hilo"的话,就会放入缓存</p>
<p>5,二级缓存存入和取出的方式跟一级缓存类似。</p>
<p>6,清除二级缓存里面的数据HibernateUtil.getSessionFactory().evict(User.class,id);一般不会需要。</p>
<p>7,缺省的,对于查询的数据的缓存,Hibernate会将其关掉,如果我们需要的话,我们需要手动的打开。</p>
<p> 例如 Query q=s.createQuery("from User where id="+id);</p>
<p> user=(User)q.uniqueResult();</p>
<p> q.setCacheable(true);</p>
<p> System.out.println(user.getName);</p>
<p>&lt;property name="cache.use_query_cache"&gt;true&lt;/property&gt;</p>

<p>之所以要这样麻烦,是因为查询时,命中率很低(只有两次query语句完全一致的时候,才会命中),所以通常打开是没有必要的。</p>
分享到:
评论

相关推荐

    hibernate缓存机制

    Hibernate缓存机制是提高应用程序性能的关键技术之一,它通过存储数据副本减少对物理数据库的访问。缓存可以分为两层:第一级缓存和第二级缓存。 **第一级缓存**是内置在Session中的,它是不可卸载的,也称为...

    HIBERNATE的缓存机制

    Hibernate缓存机制是提高应用程序性能的关键特性,尤其是在频繁与数据库交互的应用中。缓存通过减少对物理数据库的直接访问次数,显著提升了数据读取和写入的速度。这主要是因为从缓存中读取数据比从数据库中获取更...

    Hibernate缓存机制.txt

    Hibernate缓存机制.txt

    Hibernate缓存机制,转载

    **标题:“Hibernate缓存机制,转载”** **描述:**这篇博客主要探讨了Hibernate框架中的缓存机制,包括一级缓存和二级缓存的概念、工作原理以及如何在实际开发中应用。 **标签:“源码 工具”** **知识点详解:*...

    深入理解Hibernate缓存

    ### 深入理解Hibernate缓存 #### 一、Hibernate缓存概述 Hibernate作为一款流行的Java持久层框架,为开发者提供了高效且灵活的数据访问能力。其中,缓存机制是Hibernate性能优化的重要组成部分之一。理解Hibernate...

    Hibernate缓存机制

    h​i​b​e​r​n​a​t​e​缓​存​机​制​,​你​必​须​学​的​持​久​层​技​术​。

    hibernate缓存机制分析共17页.pdf.zip

    《Hibernate缓存机制详解》 Hibernate,作为Java领域中广泛使用的对象关系映射(ORM)框架,极大地简化了数据库操作。其缓存机制是优化性能的关键组成部分,它减少了对数据库的直接访问,提高了数据处理效率。本文...

    Hibernate缓存机制探讨

    在配置Hibernate缓存时,需要明确哪些实体或查询结果应该缓存,并设置相应的缓存策略。例如,我们可以使用`@Cacheable`注解标记实体类,使用`@Cache`注解来定义缓存区域和策略。同时,对于查询结果的缓存,可以使用`...

    Hibernate缓存机制解说

    ## Hibernate缓存机制详解 ### 一、缓存分类与管理 Hibernate提供了两种主要的缓存类型:一级缓存和二级缓存。 #### 1. 一级缓存 一级缓存也称为Session缓存,它在同一个Session中对数据的多次读取操作只需要一...

    Hibernate缓存机制探讨.doc

    ### Hibernate缓存机制详解 #### 一、概述 Hibernate 是一款流行的 Java 持久层框架,它简化了 Java 应用程序与数据库交互的过程。然而,直接使用 JDBC 访问数据库存在一定的性能开销。为了提升性能,Hibernate ...

    Hibernate缓存深入详解 from ITEye

    **Hibernate缓存深入详解** 在Java企业级应用开发中,Hibernate作为一款强大的对象关系映射(ORM)框架,极大地简化了数据库操作。然而,随着应用规模的扩大,数据访问性能成为了一个不可忽视的问题。这时,...

    Hibernate缓存机制深入浅出

    Hibernate缓存介于Hibernate应用和数据库之间,缓存中存放了数据库数据的拷贝。 其作用是减少访问数据库的频率,从而提高应用的运行性能

    Hibernate缓存技术研究

    ### Hibernate缓存技术研究 #### 一、引言 Hibernate是一种强大的对象-关系映射(Object-Relational Mapping,简称ORM)工具,主要用于Java环境下的应用程序。它能够将应用程序中的对象模型映射到关系型数据库的表...

    Hibernate的缓存机制

    ### Hibernate的缓存机制 #### 缓存的基本概念 缓存技术在软件开发中扮演着重要的角色,尤其是在提高数据访问效率方面。缓存通常被放置在应用程序与物理数据源(如数据库)之间,目的是减少对物理数据源的访问频率...

    hibernate的缓存机制

    **标题:“Hibernate的缓存机制”** 在Java的持久化框架Hibernate中,缓存机制扮演着至关重要的角色,它能够显著提升数据访问的性能。缓存可以分为一级缓存和二级缓存,以及查询缓存。 **一级缓存**: 一级缓存是...

Global site tag (gtag.js) - Google Analytics