Hibernate一级缓存(补)

------------------siwuxie095

什么是缓存

缓存是介于应用程序和永久性数据存储源(如:硬盘上的文件

数据库)

之间,其作用是降低应用程序直接读写永久性数据存储源的频率,从而提

高应用的运行性能

针对数据库,则:

数据是存到数据库中的,而数据库本身也是文件系统,使用流方式操作文

件的效率并不是很高

如果把数据存到内存里面,不需要使用流方式,就可以直接读取内存中的

数据,提高读取的效率

Hibernate 缓存

1、Hibernate 框架中提供了很多优化方式,Hibernate 缓存正是其中之一

2、Hibernate 缓存的特点

(1)第一类:Hibernate 的一级缓存

1)Hibernate 的一级缓存默认是打开的

2)Hibernate 的一级缓存使用范围是 Session 的范围,即 从 Session 创建到 Session 关闭

3)Hibernate 的一级缓存中存储的数据必须是持久态数据

(2)第二类:Hibernate 的二级缓存

1)Hibernate 的二级缓存目前已经不使用了,替代技术:Redis

2)Hibernate 的二级缓存默认是关闭的,需要进行配置

3)Hibernate 的二级缓存使用范围是 SessionFactory 的范围

验证
Hibernate 一级缓存的存在

1、验证方式

(1)先根据
uid=1 进行查询,返回实体类对象

(2)再根据
uid=1 进行查询,返回实体类对象

运行一览:

第一次执行
get 方法之后,发送 sql 语句,查询数据库

第二次执行
get 方法之后,没有发送 sql 语句,查询一级缓存

Hibernate 一级缓存执行过程

Hibernate 一级缓存特性

1、持久态对象能够自动更新数据库

2、执行过程

补:这篇文章本应该在 实体类对象的三种状态 和 Hibernate

事务代码规范写法 之间(分类:Hibernate)

【made by siwuxie095】

时间: 2024-11-05 07:52:38

Hibernate一级缓存(补)的相关文章

hibernate 一级缓存和二级缓存

hibernate一级缓存:session缓存即事务级缓存,session关闭,缓存自动销毁,开发人员不用管理,由hibernate管理,save.update.saveoOrUpdate.lock.load.list会自动向一级缓存中存放数据,get,load,list会自动从一级缓存中取数据,可调用evict(Object object)和clear()清除缓存. hibernate二级缓存:sessionFactory缓存即进程级别缓存,由缓存插件实现,如OSCache,对hibernat

(10)Hibernate一级缓存

1.为什么要用缓存? 目的:减少对数据库的访问次数!从而提升hibernate的执行效率! 2.Hibernate中缓存分类 一级缓存.二级缓存 3.一级缓存的概念 1)Hibenate中一级缓存,也叫做session的缓存,它可以在session范围内减少数据库的访问次数!  只在session范围有效! Session关闭,一级缓存失效! 2)当调用session的save/saveOrUpdate/get/load/list/iterator方法的时候,都会把对象放入session的缓存中

转载 hibernate一级缓存和二级缓存的区别

文章来源:http://blog.csdn.net/defonds/article/details/2308972     hibernate一级缓存和二级缓存的区别 缓存是介于应用程序和物理数据源之间,其作用是为了降低应用程序对物理数据源访问的频次,从而提高了应用的运行性能.缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在特定的时刻或事件会同步缓存和物理数据源的数据. 缓存的介质一般是内存,所以读写速度很快.但如果缓存中存放的数据量非常大时,也会用硬盘作为缓存介质.

hibernate一级缓存,二级缓存和查询缓存

一级缓存 (必定存在)  session里共享缓存,伴随session的生命周期存在和消亡: 1. load查询实体支持一级缓存 2. get查询实体对象也支持 3. save保存的实体对象会缓存在一级缓存 4. clear evict会清除session缓存 5. save巨大数据,每20个数据,一般flush执行sql将数据持久化然后clear缓存,防止内存溢出,save放最后. 6. iterate使用一级缓存(creatQuery中的查询实体对象list会使用一级缓存,查询对象实体属性不

hibernate 一级缓存

一级缓存 为什么要用缓存? 目的:减少对数据库的访问次数!从而提升hibernate的执行效率! Hibernate中缓存分类: 一级缓存 二级缓存 概念 1)Hibenate中一级缓存,也叫做session的缓存,它可以在session范围内减少数据库的访问次数!  只在session范围有效! Session关闭,一级缓存失效! 2)当调用session的save/saveOrUpdate/get/load/list/iterator方法的时候,都会把对象放入session的缓存中. 3)S

[转] Hibernate一级缓存、二级缓存

缓存是介于应用程序和物理数据源之间,其作用是为了降低应用程序对物理数据源访问的频次,从而提高了应用的运行性能.缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在特定的时刻或事件会同步缓存和物理数据源的数据. 缓存的介质一般是内存,所以读写速度很快.但如果缓存中存放的数据量非常大时,也会用硬盘作为缓存介质.缓存的实现不仅仅要考虑存储的介质,还要考虑到管理缓存的并发访问和缓存数据的生命周期. hibernate的缓存包括Session的缓存和SessionFactory的缓

hibernate一级缓存和二级缓存的区别

缓存是介于应用程序和物理数据源之间,其作用是为了降低应用程序对物理数据源访问的频次,从而提高了应用的运行性能.缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在特定的时刻或事件会同步缓存和物理数据源的数据. 缓存的介质一般是内存,所以读写速度很快.但如果缓存中存放的数据量非常大时,也会用硬盘作为缓存介质.缓存的实现不仅仅要考虑存储的介质,还要考虑到管理缓存的并发访问和缓存数据的生命周期. Hibernate的缓存包括Session的缓存和SessionFactory的缓

Hibernate一级缓存和二级缓存深度比较

1.什么是缓存 缓存是介于应用程序和物理数据源之间,其作用是为了降低应用程序对物理数据源访问的频次,从而提高了应用的运行性能.缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在特定的时刻或事件会同步缓存和物理数据源的数据. 缓存的介质一般是内存,所以读写速度很快.但如果缓存中存放的数据量非常大时,也会用硬盘作为缓存介质.缓存的实现不仅仅要考虑存储的介质,还要考虑到管理缓存的并发访问和缓存数据的生命周期. Hibernate的一级缓存是内置的,不能被卸载. Hiberna

Hibernate一级缓存和二级缓存具体解释

一.一级缓存二级缓存的概念解释 (1)一级缓存就是Session级别的缓存,一个Session做了一个查询操作,它会把这个操作的结果放在一级缓存中.假设短时间内这个 session(一定要同一个session)又做了同一个操作.那么hibernate直接从一级缓存中拿,而不会再去连数据库,取数据: (2)二级缓存就是SessionFactory级别的缓存,顾名思义.就是查询的时候会把查询结果缓存到二级缓存中,假设同一个sessionFactory 创建的某个session运行了同样的操作,hib