Fork me on GitHub

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】

posted on 2017-09-24 21:58  siwuxie095  阅读(226)  评论(0编辑  收藏  举报

导航