Hibernate 3缓存机制详解:一级缓存与二级缓存管理
需积分: 10 174 浏览量
更新于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的缓存机制是提高性能的关键,合理利用一级和二级缓存可以显著减少对数据库的访问,提高应用的响应速度。在实际应用中,应根据数据特性选择合适的缓存策略和插件,以达到最佳性能效果。
2019-04-23 上传
2008-09-27 上传
2008-07-25 上传
2019-05-25 上传
2012-02-02 上传
2009-06-26 上传
2008-12-15 上传
2018-09-11 上传
zhangyanwei_321
- 粉丝: 0
- 资源: 2
最新资源
- Aspose资源包:转PDF无水印学习工具
- Go语言控制台输入输出操作教程
- 红外遥控报警器原理及应用详解下载
- 控制卷筒纸侧面位置的先进装置技术解析
- 易语言加解密例程源码详解与实践
- SpringMVC客户管理系统:Hibernate与Bootstrap集成实践
- 深入理解JavaScript Set与WeakSet的使用
- 深入解析接收存储及发送装置的广播技术方法
- zyString模块1.0源码公开-易语言编程利器
- Android记分板UI设计:SimpleScoreboard的简洁与高效
- 量子网格列设置存储组件:开源解决方案
- 全面技术源码合集:CcVita Php Check v1.1
- 中军创易语言抢购软件:付款功能解析
- Python手动实现图像滤波教程
- MATLAB源代码实现基于DFT的量子传输分析
- 开源程序Hukoch.exe:简化食谱管理与导入功能