Hibernate 3缓存机制详解:一级缓存与二级缓存管理
需积分: 10 67 浏览量
更新于2024-09-15
收藏 115KB DOCX 举报
"hibernate 3缓存总结"
本文主要介绍了Hibernate 3中的缓存机制,包括一级缓存和二级缓存的管理、适用场景以及常见的二级缓存插件和配置方法。
1. 一级缓存管理:
Hibernate的一级缓存是Session级别的,当执行增删改查操作或查询时,对象会自动加入到一级缓存。一级缓存中的对象会根据状态变化同步更新数据库。开发者可以通过`evict()`方法移除指定对象,`clear()`方法清空整个缓存。
2. 二级缓存管理:
- **过程**:二级缓存主要针对ID查询,数据加载时全量获取并存储,后续根据ID查找优先从二级缓存读取。更新、删除、新增数据时,二级缓存也会同步更新。
- **适用场景**:适合存放修改频率低、不重要的、不会并发访问的数据,如参考数据。
- **不适合场景**:不适合经常变动、财务数据及需要并发一致性的数据。
- **查询缓存**:针对条件查询,如Query Cache,EhCache和OSCache提供支持。
3. 常用的二级缓存插件:
- EhCache:支持内存和硬盘存储,提供查询缓存支持。
- OSCache:同样支持内存和硬盘,有丰富的过期策略,支持查询缓存。
- SwarmCache:集群范围,不支持查询缓存。
- JBossCache:支持事务性并发访问,支持查询缓存。
4. 配置二级缓存:
- 选择需要缓存的持久化类并设置并发访问策略。
- 选择合适的缓存插件并配置相关文件,如EhCache的配置。
5. 使用EhCache配置二级缓存:
- 添加EhCache库到classpath。
- 在`hibernate.cfg.xml`中配置EhCache插件。
- 复制`ehcache.xml`到类路径。
- 在ORM映射文件中使用`<cache>`子元素配置类和集合的缓存策略。
以Category和Product为例,`Category.hbm.xml`中的`<cache>`元素用于配置读写型并发访问策略,并在`<set>`中配置集合的缓存。
总结来说,Hibernate 3的缓存机制是提高性能的关键,合理利用一级和二级缓存可以显著减少对数据库的访问,提高应用的响应速度。在实际应用中,应根据数据特性选择合适的缓存策略和插件,以达到最佳性能效果。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2008-09-27 上传
2008-07-25 上传
2019-05-25 上传
2012-02-02 上传
2009-06-26 上传
2008-12-15 上传
zhangyanwei_321
- 粉丝: 0
- 资源: 2
最新资源
- MATLAB新功能:Multi-frame ViewRGB制作彩色图阴影
- XKCD Substitutions 3-crx插件:创新的网页文字替换工具
- Python实现8位等离子效果开源项目plasma.py解读
- 维护商店移动应用:基于PhoneGap的移动API应用
- Laravel-Admin的Redis Manager扩展使用教程
- Jekyll代理主题使用指南及文件结构解析
- cPanel中PHP多版本插件的安装与配置指南
- 深入探讨React和Typescript在Alias kopio游戏中的应用
- node.js OSC服务器实现:Gibber消息转换技术解析
- 体验最新升级版的mdbootstrap pro 6.1.0组件库
- 超市盘点过机系统实现与delphi应用
- Boogle: 探索 Python 编程的 Boggle 仿制品
- C++实现的Physics2D简易2D物理模拟
- 傅里叶级数在分数阶微分积分计算中的应用与实现
- Windows Phone与PhoneGap应用隔离存储文件访问方法
- iso8601-interval-recurrence:掌握ISO8601日期范围与重复间隔检查