多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## 一、概述 JPA支持两级缓存(JPA1.0只支持一级缓存); 一级缓存(或叫内置缓存)为持久性上下文范围内的缓存,它属于事务范围(线程级别)的缓存,无需额外配置,自动加载;如hibernate中session级别的缓存,当进行数据操作时,只要没有进行事务的提交操作,再次进行数据的操作不会进行数据库的操作,而是直接获取缓存中的数据; 二级缓存(或叫外置缓存)通常是用来提高应用程序性能的,它属于进程范围或集群范围的缓存,它基于EntityFactory进行缓存,犹如hibernate中SessionFactory级别的缓存,它一般用于**经常被阅读到很少被修改**的数据中;它可以避免访问以已经从数据库加载的数据,提高访问未被修改数据对象的速度; ## 二、方案 二级缓存通常用来提高性能,同时,使用二级缓存可能会导致提取到“陈旧”数据,容易出现并发问题。所以二级缓存最好是用在经常阅读数据,比较少更新数据的情况,而不应该对重要数据使用二级缓存;