`

Hibernate缓存概述

阅读更多
缓存是介于应用程序和物理数据源之间,其作用是为了降低应用程序对物理数据源访问的频次,从而提高了应用的运行性能。缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在特定的时刻或事件会同步缓存和物理数据源的数据。

  缓存的介质一般是内存,所以读写速度很快。但如果缓存中存放的数据量非常大时,也会用硬盘作为缓存介质。缓存的实现不仅仅要考虑存储的介质,还要考虑到管理缓存的并发访问和缓存数据的生命周期。

  Hibernate的缓存包括Session的缓存和SessionFactory的缓存,其中SessionFactory的缓存又可以分为两类:内置缓存和外置缓存。Session的缓存是内置的,不能被卸载,也被称为Hibernate的第一级缓存。SessionFactory的内置缓存和Session的缓存在实现方式上比较相似,前者是SessionFactory对象的一些集合属性包含的数据,后者是指Session的一些集合属性包含的数据。SessionFactory的内置缓存中存放了映射元数据和预定义SQL语句,映射元数据是映射文件中数据的拷贝,而预定义SQL语句是在Hibernate初始化阶段根据映射元数据推导出来,SessionFactory的内置缓存是只读的,应用程序不能修改缓存中的映射元数据和预定义SQL语句,因此SessionFactory不需要进行内置缓存与映射文件的同步。SessionFactory的外置缓存是一个可配置的插件。在默认情况下,SessionFactory不会启用这个插件。外置缓存的数据是数据库数据的拷贝,外置缓存的介质可以是内存或者硬盘。SessionFactory的外置缓存也被称为Hibernate的第二级缓存。

  Hibernate的这两级缓存都位于持久化层,存放的都是数据库数据的拷贝,那么它们之间的区别是什么呢?为了理解二者的区别,需要深入理解持久化层的缓存的两个特性:缓存的范围和缓存的并发访问策略。
分享到:
评论

相关推荐

    深入理解Hibernate缓存

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

    Hibernate缓存深入详解 from ITEye

    **一、Hibernate缓存概述** Hibernate的缓存机制主要是为了减少对数据库的直接访问,提高系统性能。它通过在内存中存储数据来加快数据访问速度,分为一级缓存和二级缓存。 **二、一级缓存** 一级缓存是...

    Hibernate缓存深入详解

    Hibernate缓存概述** Hibernate提供了两级缓存:一级缓存和二级缓存。一级缓存是Session级别的,而二级缓存则是SessionFactory级别的全局缓存。这两级缓存都位于持久化层,存储着数据库数据的拷贝。 **2. 一级...

    Hibernate缓存详解

    Hibernate缓存概述 缓存是存储在内存中的临时数据,当应用程序需要数据时,首先从缓存中查找,而不是直接查询数据库。这样可以减少网络延迟,提高数据访问效率。Hibernate的缓存分为一级缓存和二级缓存。 ### 2. ...

    Hibernate缓存深入详解.ppt

    1-1 Hibernate缓存概述 缓存对于Hibernate的性能优化至关重要,因为它能减少对数据库的直接操作。在Hibernate中,缓存处于持久化层,存储了数据库数据的副本。当应用程序需要数据时,首先会在缓存中查找,如果找到,...

    hibernate 缓存

    Hibernate缓存概述 **缓存的作用**:减少对数据库的访问次数,从而提高应用性能。Hibernate缓存位于应用和数据库之间,存储着数据库数据的副本。当需要数据时,Hibernate首先会在缓存中查找,若找到所需数据(称为...

    Hibernate缓存

    1-1 Hibernate缓存概述: Hibernate提供了两种级别的缓存:一级缓存和二级缓存。一级缓存是Session级别的,而二级缓存是SessionFactory级别的全局缓存。这两个缓存都是为了存储持久化对象,以减少与数据库的交互。 ...

    hibernate缓存解析

    Hibernate缓存概述** Hibernate的一级缓存是Session级别的,也称为事务范围的缓存,它的生命周期与当前事务绑定。当事务结束,一级缓存中的数据也会被清除。一级缓存主要存储由Session管理的对象,当对象被持久化...

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

    Hibernate缓存概述 Hibernate缓存主要分为一级缓存和二级缓存。一级缓存是Session级别的,它是内建的,无需配置,对同一个Session内的对象进行多次读取时,直接从内存中获取,避免了重复的数据库查询。二级缓存是...

    Hibernate缓存机制

    **1.1 Hibernate缓存概述** Hibernate作为一款流行的Java持久层框架,其缓存机制是提高应用程序性能的关键之一。缓存的主要作用在于减少数据库访问次数,从而提高应用的响应速度。在Hibernate中,缓存分为两个级别...

    Hibernate的缓存机制

    #### Hibernate缓存概述 Hibernate作为一款流行的Java持久层框架,提供了强大的缓存机制,支持不同级别的缓存来优化数据访问性能。Hibernate缓存主要包括两个层面:一级缓存(第一级缓存)和二级缓存(第二级缓存)...

    详解Hibernate的缓存机制及其配置代码

    #### 二、Hibernate缓存概述 Hibernate提供了不同层次的缓存支持: 1. **一级缓存**:即`Session`缓存,它是默认启用的,用于存储当前`Session`中的数据。 2. **二级缓存**:即`SessionFactory`级别的缓存,可选...

    hibernate缓存

    ### Hibernate缓存机制及优化策略 #### 一、概述 Hibernate作为一款优秀的对象关系映射(ORM)框架,在Java开发领域被广泛应用于数据库操作。它提供了丰富的缓存机制来提高应用性能并降低数据库访问压力。本文将...

    hibernate caching

    #### 二、Hibernate 缓存概述 Hibernate 提供了两种不同的缓存机制用于缓存对象:一级缓存和二级缓存。 ##### 一级缓存 (First-level Cache) - **作用范围**:与 Session 对象关联。 - **特点**: - Hibernate ...

Global site tag (gtag.js) - Google Analytics