- 1、本文档共50页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Hibernate 二级缓存 Hibernate缓存 缓存(Cache): 计算机领域非常通用的概念。它介于应用程序和永久性数据存储源(如硬盘上的文件或者数据库)之间,其作用是降低应用程序直接读写永久性数据存储源的频率,从而提高应用的运行性能。缓存中的数据是数据存储源中数据的拷贝。缓存的物理介质通常是内存 Hibernate中提供了两个级别的缓存 第一级别的缓存是 Session 级别的缓存,它是属于事务范围的缓存。这一级别的缓存由 hibernate 管理的,一般情况下无需进行干预 第二级别的缓存是 SessionFactory 级别的缓存,它是属于进程范围的缓存 Hibernate 的二级缓存 SessionFactory 的缓存可以分为两类: 内置缓存: Hibernate 自带的, 不可卸载. 通常在 Hibernate 的初始化阶段, Hibernate 会把映射元数据和预定义的 SQL 语句放到 SessionFactory 的缓存中, 映射元数据是映射文件中数据的复制, 而预定义 SQL 语句时 Hibernate 根据映射元数据推到出来的. 该内置缓存是只读的. 外置缓存(二级缓存): 一个可配置的缓存插件. 在默认情况下, SessionFactory 不会启用这个缓存插件. 外置缓存中的数据是数据库数据的复制, 外置缓存的物理介质可以是内存或硬盘 二级缓存的并发访问策略 两个并发的事务同时访问持久层的缓存的相同数据时, 也有可能出现各类并发问题. 二级缓存可以设定以下 4 种类型的并发访问策略, 每一种访问策略对应一种事务隔离级别 非严格读写(Nonstrict-read-write): 不保证缓存与数据库中数据的一致性. 提供 Read Uncommited 事务隔离级别, 对于极少被修改, 而且允许脏读的数据, 可以采用这种策略 读写型(Read-write): 提供 Read Commited 数据隔离级别.对于经常读但是很少被修改的数据, 可以采用这种隔离类型, 因为它可以防止脏读 事务型(Transactional): 仅在受管理环境下适用. 它提供了 Repeatable Read 事务隔离级别. 对于经常读但是很少被修改的数据, 可以采用这种隔离类型, 因为它可以防止脏读和不可重复读 只读型(Read-Only):提供 Serializable 数据隔离级别, 对于从来不会被修改的数据, 可以采用这种访问策略 使用 Hibernate 的二级缓存 适合放入二级缓存中的数据: 很少被修改 不是很重要的数据, 允许出现偶尔的并发问题 不适合放入二级缓存中的数据: 经常被修改 财务数据, 绝对不允许出现并发问题 与其他应用数据共享的数据 Hibernate 二级缓存的结构 缓存并发访问策略 查询缓存 缓存适配器(CacheProvider) 缓存的实现 Hibernate 的二级缓存 管理 Hibernate 的二级缓存 Hibernate 的二级缓存是进程或集群范围内的缓存, 缓存中存放的是对象的散装数据 二级缓存是可配置的的插件, Hibernate 允许选用以下类型的缓存插件: EHCache: 可作为进程范围内的缓存, 存放数据的物理介质可以使内存或硬盘, 对 Hibernate 的查询缓存提供了支持 OpenSymphony OSCache:可作为进程范围内的缓存, 存放数据的物理介质可以使内存或硬盘, 提供了丰富的缓存数据过期策略, 对 Hibernate 的查询缓存提供了支持 SwarmCache: 可作为集群范围内的缓存, 但不支持 Hibernate 的查询缓存 JBossCache:可作为集群范围内的缓存, 支持 Hibernate 的查询缓存 4 种缓存插件支持的并发访问策略(x 代表支持, 空白代表不支持) 配置进程范围内的二级缓存 配置进程范围内的二级缓存的步骤: 选择合适的缓存插件: EHCache(jar 包和 配置文件), 并编译器配置文件 在 Hibernate 的配置文件中指定和 EHCache 对应的缓存适配器 选择需要使用二级缓存的持久化类, 设置它的二级缓存的并发访问策略, class 元素的 cache 子元素表明 Hibernate 会缓存对象的简单属性, 但不会缓存集合属性, 若希望缓存集合属性中的元素, 必须在 set 元素中加入 cache 子元素 ehcache.xml diskStore: 指定一个目录, 当 EHCache 把数据写到硬盘上时, 将把数据写到这个文件目录下. defaultCache: 设置缓存的默认数据过期策略 cache 设定具体的命名缓存的数据过期策略 每个命名缓存代表一个缓存区域,每个缓存区域有各自的数据
您可能关注的文档
- 桩基础与垫层工程.ppt
- 桩基检测技术(简全).ppt
- 桩基础工程量的计算.ppt
- 桩基础工程定额计价.ppt
- 桩基础与地基基础工程.ppt
- 桩基础设计参考例题.ppt
- 桩基础的设计计算.ppt
- 桩筏基础简化分析方法.ppt
- 桶装水客诉处理手册.ppt
- 桩基规范修订焦点剖析.ppt
- 《膜生物反应器技术在工业废水深度处理与回用中的应用及优化》教学研究课题报告.docx
- 初中语文教学中批判性思维能力的培养路径教学研究课题报告.docx
- 乡土历史资源在初中历史教学中的创新运用:以地方历史发展为背景教学研究课题报告.docx
- 高中书法课程教学策略优化与学生学习兴趣培养研究教学研究课题报告.docx
- 物理实验教学与高中生创新能力培养的关联性实证研究教学研究课题报告.docx
- 毕业生院系意见范文.docx
- 2025年互联网金融科技服务平台风险控制与合规经营研究报告.docx
- 2025年传统工业制造行业环保装备与技术创新研究报告.docx
- 2025年卫星导航技术在智能导航车载系统中的应用场景研究报告[001].docx
- 农村电商农产品上行策略与品牌塑造全攻略分析报告.docx
文档评论(0)