Hibernate---缓存策略

Hibernate---缓存策略

1、什么是缓存

并不是指计算机的内存或者CPU的一二级缓存
缓存是指为了降低应用程序对物理数据源访问的频次,从而提高应用程序的运行性能的一种策略

2、为什么使用缓存

ORM框架访问数据库的效率直接影响应用程序的运行速度,提升和优化ORM框架的执行效率至关重要。
Hibernate的缓存是提升和优化Hibernate执行效率的重要手段,所以学会Hibernate缓存的使用和配置是优化的关键。

3、缓存的工作原理


4、一级缓存

1、Hibernate一级缓存又称为“Session缓存”、“会话级缓存”
2、通过Session从数据库查询实体时会把实体在内存中存储起来,下一次查询相同的实体时不再从数据库获取,而从内存中获取,这就是缓存
3、一级缓存的生命周期和Session相同;Session销毁,它也销毁。
4、一级缓存中的数据可适用范围在当前会话之内

一级缓存的API

一级缓存无法取消,用两个方法管理

evict():用于将某个对象从Session的一级缓存中清除。

clear():用于将一级缓存中的所有对象全部请清除


一级缓存有些时候会对程序的性能产生影响


query.list()不适用session缓存
query.iterate()适用于session缓存,只是有个前提条件,首先查找所有的 雇员ID,如果session缓存(内存)里面存在,则不需要查询数据库,如果不存在,则按照每个雇员ID,来查询数据库,即 每个雇员ID,一条sql语句

5、二级缓存

每个Session共用的缓存
二级缓存又称为“全局缓存”、“应用级缓存”
二级缓存中的数据可适用范围是当前应用的所有会话
二级缓存是可插拔式缓存,默认是EHCache,还支持其他二级缓存组件如:Hashtable、OSCache、SwarmCache、JBoss TreeCache等

Hibernate添加二级缓存步骤:
1.导入二级缓存的jar包
2.在Hibernate的配置文件中添加Provider类的描述
3.添加二级缓存的属性配置文件
4.在需要被缓存的表所对应的映射文件中添加<cache/>标签

通常将具有以下特征数据放入二级缓存

很少被修改的数据

不是很重要的数据,允许出现偶尔并发的数据

不会被并发访问的数据

参考数据


6、一二级缓存对比


总结

1、Hibernate的缓存能提高检索效率

2、Hibernate的缓存分为一级缓存和二级缓存。一级缓存是会话级缓存,二级缓存是应用级缓存

3、Hibernate的缓存在提高检索的同时,也会增加服务器的消耗,所以要注意缓存的使用策略



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值