码迷,mamicode.com
首页 > Web开发 > 详细

Hibernate一级缓存(补)

时间:2017-09-24 23:27:43      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:actor   查询   ros   对象   验证   redis   log   硬盘   针对   

------------------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】

Hibernate一级缓存(补)

标签:actor   查询   ros   对象   验证   redis   log   硬盘   针对   

原文地址:http://www.cnblogs.com/siwuxie095/p/7588902.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!