Hibernate性能优化之缓存管理

课程概要:

1.Hibernate一级缓存

2.Hibernate二级缓存和应用

3.Hibernate查询缓存

 

一、Hibernate一级缓存

什么是缓存?

缓存(Cache)就是一块存储区域,其作用就是降低应用程序直接读写永久性数据源的频率,从而提高应用的运行性能。

Hibernate提供了两级缓存:

第一级缓存:session

第二级缓存:session factory

 

一级缓存的工作机制:

 

解释说明:

将内存分为两大块,一个是session的实例,一个是session对应的缓存空间。当在Hibernate里面创建一个session对象时,如果你对其进行了操作,那么你得到的数据就将放在session对象所对应的一片内存空间,这也成为持久化的数据。

 

session提供了管理缓存的方法:

flush(): 把缓存更新到数据库中。

evict(Object obj):清除指定对象的缓存。

clear():清理缓存。

 

二、Hibernate二级缓存

一级session是内置的,并且由Hibernate自己进行第一级数据的缓存和维护,第一级缓存的生命周期往往是很短的,当我们把session关闭掉,第一级缓存也就被关掉了。如果我们想进一步提升HIbernate的性能,我们可以声明他的二级缓存。

 

Hibernate本身并不提供二级缓存的机制,而是需要第三方实现二级缓存。

 

什么数据更适合存放在第二级缓存中?

很少被修改的数据

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

不会被并发访问的数据

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值