Hibernate缓存策略

2017-04-10  本文已影响0人  曹达兴

缓存是指为了降低应用程序对物理数据源访问的频次,从而提高应用程序的运行性能的一种策略

就是指如何更快速地去检索数据库

ORM框架访问数据库的效率直接影响应用程序的运行速度,提升和优化ORM框架的执行效率至关重要

Hibernate的缓存是提升和优化Hibernate执行效率的重要手段,所以学会Hibernate缓存的配置和使用是优化的关键

1、Hibernate一级缓存又称为"Session缓存"、"会话级缓存"

2、通过Session从数据库查询实体时会把实体在内存中存储起来,下一次查询同一实体时不再从数据库中获取,而从内存中获取,这就是缓存

3、一级缓存的生命周期和Session相同;Session销毁,它也销毁。

4、一级缓存中的数据可适用范围在当前会话之内。

一级缓存无法取消

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

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

query.list()和query.iterate()区别:

list()直接发送sql语句,查询数据库;

iterate()发送sql语句,从数据库取出id,然后先从缓存中根据id查找对应信息,

有就返回结果,没有就根据id发送sql语句,查询数据库。

二级缓存又称为"全局缓存"、"应用级缓存"

二级缓存中的数据可适用范围是当前应用的所有会话(与sessionFactory相关)

在通常情况下会将具有以下特征的数据放入到二级缓存:

很少被修改的数据

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

不会被并发访问的数据

参考数据






上一篇下一篇

猜你喜欢

热点阅读