为了账号安全,请及时绑定邮箱和手机立即绑定

二级缓存在开发项目中应用多吗?

二级缓存在开发项目中应用多吗?

正在回答

2 回答

hibernate的缓存策略

1.什么是缓存?:并不是指计算机的内存或者CPU的一二级缓存

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

2.为什么使用缓存?

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

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

3.缓存的工作原理

spacer.gif

一级缓存

1.Hibernate一级缓存又称为“Session缓存”、“会话级缓存”。

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

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

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

一级缓存的API的API

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

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

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

用法:spacer.gif

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


二级缓存

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

二级缓存中的数据可适用范围是当前应用的所有会话

二级缓存是可插拔式缓存,默认是EHCache,还支持其他二级缓存组件如:Hashtable、OSCache、SwarmCache、JBoss TreeCache等

二级缓存的配置步骤

1.添加二级缓存对应的jar包

ehcache.jar.zip

2.在hibernate的配置文件中添加Privider类的描述

spacer.gif

3.添加二级缓存的属性配置

hibernate.cfg.xml中

spacer.gif

4.在需要被缓存的表所对应的映射文件中添加<cache/>标签

spacer.gif

<cache/>标签的详细介绍:

usage:指定缓存策略,可选的策略包括:transactional,read-write,nonstrict-read-write或read-only(只读)

region:指定二级缓冲区域名

include:指定是否缓存延迟加载的对象;all,表示缓存所有对象;non-lazy,表示不缓存延迟加载的对象


总结:

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

很少被修改的数据。

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

不会被高并发访问的数据。

参考数据。

spacer.gif

Hibernate的缓存能提高检索效率

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

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


0 回复 有任何疑惑可以回复我~

这位同学啊,这不好说啊,因为在spring中提供了hibernate相关的封装,也能实现持久化数据,在有些方面可能spring比hibernate的效果更好,况且这些框架也不是用了就一定好,用这些框架有时候也要谨慎,像前段时间的struts漏洞,就是一个例子,其实这个东西不能特定说用的多不多,要看公司的业务,以及东西对这些框架的偏爱,有的公司可能就用的比较多,但是有的公司就比较少

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Hibernate缓存策略
  • 参与学习       28785    人
  • 解答问题       24    个

本教程主要介绍Hibernate中缓存的原理、分类和使用

进入课程

二级缓存在开发项目中应用多吗?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信