Hibernate的缓存机制..docVIP

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Hibernate的缓存机制.

Hibernate的缓存机制 1. 内部缓存存在Hibernate中又叫一级缓存,属于应用事务级缓存 2. 二级缓存: a) 应用及缓存 b) 分布式缓存 条件:数据不会被第三方修改、数据大小在可接受范围、数据更新频率低、同一数据被系统频繁使用、非 关键数据 c) 第三方缓存的实现 Hibernate缓存概述 缓存是介于物理数据源与应用程序之间,是数据库数据在内存中的存放临时copy的容器,其作用是为了减少应用程序对物理数据源访问的次数,从而提高了应用的运行性能。Hibernate在进行读取数据的时候,根据缓存机制在相应的缓存中查询,如果在缓存中找到了需要的数据(我们把这称“缓存命中),则就直接把命中的数据作为结果加以利用,避免了建立数据库查询的性能损耗。Hibernate缓存分类 一级缓存(session):内部缓存 事务范围:缓存只能被当前事务访问。缓存的生命周期依赖于事务的生命周期,当事务结束时,缓存也就结束生命周期。 二级缓存(sessionFactory):缓存被应用范围内的所有事务共享?这些事务有可能是并发访问缓存,因此必须对缓存进行更新。缓存的生命周期依赖于应用的生命周期,应用结束时,?缓存也就结束了生命周期,二级缓存存在于应用范围。集群范围:在集群环境中,缓存被一个机器或者多个机器的进程共享。缓存中的数据被复制到集群环境中的每个进程节点,进程间通过远程通信来保证缓存中的数据的一致性,?缓存中的数据通常采用对象的松散数据形式,二级缓存也存在与应用范围。注意:对大多数应用来说,应该慎重地考虑是否需要使用集群范围的缓存,再加上集群范围还有数据同步的问题,所以应当慎用。多种范围的缓存处理过程持久化层可以提供多种范围的缓存。如果在事务范围的缓存中没有查到相应的数据,还可以到应用范围或集群范围的缓存内查询,如果还是没有查到,那么只有到数据库中查询了。 缓存应用的范围:修改少,数量在可以接受的范围内 使用二级缓存的原则: ◆数据不会被第三方修改 ◆同一数据系统经常引用 ◆数据大小在可接受范围之内 ◆关键数据或不会被并发更新的数据 hibernate引入第三方的缓存组件EHCACHE,下面是具体的实现步骤: 修改hibernate.cfg.xml配置引入ehCache缓存 hibernate-configuration? ? ????????????????????????session-factory? ? ????????????????????????????????property?name=vider_class? ? ????????????????????????????????????????net.sf.ehcache.hibernate.EhCacheProvider ? ? ????????????????????????????????/ SPANproperty? ? ????????????????????????????????? ? ????????????????????????????????property?name=hibernate.cache.use_query_cachetrue/ SPANproperty? ? ????????????????????????/ SPANsession-factory? ? ????????????????/ SPANhibernate-configuration? ? 在src根目录下加入ehcache.xml文件,具体内容如下: ehcache?xmlns:xsi=/2001/XMLSchema-instance?xsi:noNamespaceSchemaLocation=ehcache.xsd? ? ????????????????defaultCache? ? ????????????????????????????maxElementsInMemory=10000? ? ????????????????????????????eternal=false? ? ????????????????????????????timeToIdleSeconds=120? ? ????????????????????????????timeToLiveSeconds=120? ? ????????????????????????????overflowToDisk=true? ? ????????????????????????????/? ? ????????????????/ SPANehcache? ? 在映射文件中指定缓存同步策略 class?name=com.tenly.bean.Student? ? ?

文档评论(0)

sa1fs5g1xc1I + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档