Hibernate 二级缓存的作用

版权声明:本文为博主原创文章,未经博主允许不得转发,博客地址: https://blog.csdn.net/weixin_41180516 https://blog.csdn.net/weixin_41180516/article/details/83717524

使用缓存,是需要对应用系统进行性能优化而常采用的一种重要手段。合理地运用缓存,可以极大的提高应用系统的运行效率。
Hibernate中应用缓存:因为应用程序访问数据库,读写数据的代价非常高,而利用持久层的缓存可以减少应用程序与数据库之间的交互,即把访问过的数据保存到缓存中,应用程序再次访问已经访问过的数据,这些数据就可以从缓存中获取,而不必再从数据库中获取。同时如果数据库中的数据被修改或者删除,那么是、该数据所对应的缓存数据,也会被同步修改或删除,进而保持缓存数据的一致性。

Hibernate的二级缓存由SessionFactory对象管理,是应用级别的缓存。它可以缓存整个应用的持久化对象,所以又称为“SessionFactory缓存”。
hibernate二级缓存中的缓存对象可以被整个应用的Session对象共享,即使关闭当前Session对象,新建的Session对象仍可使用。使用Hibernate的二级缓存之后查询数据,Session对象会首先在以及缓存中查找有无缓存数据被命中。如果没有,则查找二级缓存。如果有,则直接返回所命中的数据;否则查询数据库。

在通常情况下会将具有以下特征的数据放入到二级缓存中: 
  很少被修改的数据。 
  不是很重要的数据,允许出现偶尔并发的数据。 
  不会被并发访问的数据。 
  常量数据。 
  不会被第三方修改的数据

而对于具有以下特征的数据则不适合放在二级缓存中: 
  经常被修改的数据。 
  财务数据,绝对不允许出现并发。 
  与其他应用共享的数据。
 

猜你喜欢

转载自blog.csdn.net/weixin_41180516/article/details/83717524