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

Hibernate缓存策略

难度中级
时长34分
学习人数
综合评分9.63
124人评价 查看评价
9.7 内容实用
9.6 简洁易懂
9.6 逻辑清晰
  • 介绍Hibernate一级缓存: 1.Hibernate一级缓存又称为"Session缓存","会话级缓存" 2.通过Session从数据库查询实体时把实体在内存中存储起来,下一次查询同一实体时不再从数据库获取,而是从内存中获取,这就是缓存 3.一级缓存的生命周期和Session相同;Session销毁,他也销毁 4.一级缓存中的数据可适用范围在当前会话之内 Hibernate一级缓存的API 1.一级缓存无法取消,Hibernate默认使用一级缓存 2.用两个方法管理一级缓存: a.evict():用于将某个对象从Session的一级缓存中清除 b.clear():用于将一节缓存中的所有对象全部清除 3.一级缓存也有些时候会对程序的性能产生影响,因为在对数据库进行增删改的时候同时也要更新缓存 一级缓存注意问题: 1.query.list()是不会使用一级缓存的 2.query.iterate()会使用一级缓存,当缓存中有数据的时候,query.iterate()将所有对象的id查询出来然后到缓存中将所有对象都查询出来,如果缓存中没有数据,query.iterate()则把对象从数据库中一条一条的将数据查出来
    查看全部
  • Hibernate缓存策略——不使用缓存的问题 观察如图代码IO,发现了什么? 1.Hibernate缓存与session相关,同一个session第二次访问同一个对象将使用缓存。 2.在不同的session中多次查询同一个对象时,会执行多次数据库查询。 3.在一级缓存当中,持久化类的每个实例都具有唯一的OID,也就是说同一个session两次查询同一个对象时,第二次是不会再将对象保存在缓存当中的。 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
  • 一二级缓存的对比
    查看全部
  • hibernate的缓存策略(ppt内容)

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

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

    2.为什么使用缓存?

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

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

    3.缓存的工作原理

    一级缓存

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

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

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

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

    一级缓存的API的API

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

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

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

    用法:

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


    二级缓存

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

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

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

    二级缓存的配置步骤

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

    ehcache.jar.zip

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


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

    hibernate.cfg.xml中

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

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

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

    region:指定二级缓冲区域名

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


    总结:

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

    很少被修改的数据。

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

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

    参考数据。

    Hibernate的缓存能提高检索效率

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

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


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

    查看全部
  • query.list()和query.iterate()区别 1.返回的类型不同: list()返回List;iterate()返回Iterate。 2.查询策略不同: list()直接发送sql语句,查询数据库; iterate()发送sql语句,从数据库取出id,然后先从缓存中根据id查找对应信息, 有就返回结果,没有就根据id发送sql语句,查询数据库。 3.返回对象不同: list()返回持久化实体类对象; iterate()返回代理对象。 4.与缓存的关系不同: list()只缓存,但不使用缓存(查询缓存除外); iterate()会使用缓存。
    查看全部
  • Hibernate4以后的配置: <!-- 配置二级缓存 --> <property name="hibernate.cache.use_second_level_cache">true</property> <property name="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.EhCacheRegionFactory</property>
    查看全部
  • 缓存的一般工作原理
    查看全部
  • 一二级缓存的对比
    查看全部
  • 配置二级缓存的步骤
    查看全部
  • list 不使用缓存 iterate先发送一条查询主键的sql 再根据主键去缓存中找 如果缓存中没有相应的对象再向数据库发送查询语句
    查看全部
  • Hibernate缓存策略——总结 III 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
  • Hibernate缓存策略——总结 II 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
  • Hibernate缓存策略——总结 I 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
  • Hibernate缓存策略——二级缓存 V 【温馨提示:JavaSE/EE、SSH/SSM、Hybrid APP、JQ/JS/CSS3/H5等编程爱好者关注我,加我慕课好友,互相学习,共同进步!】
    查看全部
首页上一页1234567下一页尾页

举报

0/150
提交
取消
课程须知
学习本门课程之前,建议先了解一下以下知识,会更有助于理解和掌握本门课程: 1、掌握ORM框架的基础知识 2、能使用Hibernate对Mysql数据库进行简单操作
老师告诉你能学到什么?
1、ORM框架中缓存的基本工作原理 2、Hibernate中缓存的分类和使用 3、掌握使用缓存针对项目进行性能优化的原则

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!