Hibernate 缓存

Posted just coding

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hibernate 缓存相关的知识,希望对你有一定的参考价值。

参考:

https://www.tutorialspoint.com/hibernate/hibernate_caching.htm

http://puredanger.github.io/tech.puredanger.com/2009/07/10/hibernate-query-cache/

http://www.baeldung.com/hibernate-second-level-cache

Hibernate 的缓存分为: 

first level cache,second level cache,query level cache ,timestamp cache (一级缓存,二级缓存,查询缓存,和时间戳缓存)

1、一级缓存:Hibernate默认使用的是一级缓存。一级缓存是基于Session 的上下文的,当Session关闭了这个缓存也就是失效了

2、二级缓存:Hibernate的二级缓存是给予SessionFacotry的,SessionFactory可以提供给多个Session共享,当查询的时候先从一级缓存中查找响应的内容,如果没有找到再从二级缓存中查找,如果还没有找到的话再从数据库中查找

3、查询缓存:查询缓存是针对特定的查询而设置的缓存,缓存中不保留数据,只保留数据的主键,查询缓存不是在任何地方使用都能够提高效率的。

4、时间戳缓存:时间戳缓存是根据更新的时间戳来判断的,如果更新的时间戳在缓存的时间戳的前面则从缓存中读取,否则则从数据库中查询。

 

以上是关于Hibernate 缓存的主要内容,如果未能解决你的问题,请参考以下文章

Hibernate缓存

Hibernate解析hibernate中的缓存

ssh整合hibernate 使用spring管理hibernate二级缓存,配置hibernate4.0以上二级缓存

hibernate学习 六 Hibernate缓存

Hibernate学习11——配置Hibernate二级缓存

Hibernate(十六):Hibernate二级缓存