Hibernate 缓存中 @Cache 的 CacheConcurrencyStrategy 的五种缓存方式
Posted Silenter
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hibernate 缓存中 @Cache 的 CacheConcurrencyStrategy 的五种缓存方式相关的知识,希望对你有一定的参考价值。
使用方法
缓存的注解写法如下,加在 Entity 的 java 类上:
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
五种情况及说明
1、CacheConcurrencyStrategy.NONE
简介说明:不适用,默认
2、CacheConcurrencyStrategy.READ_ONLY
简介说明:只读模式,在此模式下,如果对数据进行更新操作,会有异常;
使用情景:对于不发生改变的数据使用
3、CacheConcurrencyStrategy.READ_WRITE
简介说明:读写模式在更新缓存的时候会把缓存里面的数据换成一个锁,其它事务如果去取相应的缓存数据,发现被锁了,直接就去数据库查询;
使用情景:基于时间戳判定机制,对于数据同步要求严格的情况,使用频繁;
4、CacheConcurrencyStrategy.NONSTRICT_READ_WRITE
简介说明:不严格的读写模式则不会的缓存数据加锁;
使用情景:更新不频繁几个小时或更长
5、CacheConcurrencyStrategy.TRANSACTIONAL
简介说明:事务模式指缓存支持事务,当事务回滚时,缓存也能回滚,只支持 JTA 环境。
以上是关于Hibernate 缓存中 @Cache 的 CacheConcurrencyStrategy 的五种缓存方式的主要内容,如果未能解决你的问题,请参考以下文章
配置 Hibernate 缓存时遇到问题 - org.hibernate.cache.NoCachingEnabledException:二级缓存未启用使用
将@Cacheable 或@Cache 放在实体上方是不是足以让Hibernate 开始缓存?