CacheConcurrencyStrategy有五种缓存方式:
- CacheConcurrencyStrategy.NONE
不适用,默认 - CacheConcurrencyStrategy.READ_ONLY
只读模式,在此模式下,如果对数据进行更新操作,会有异常; - CacheConcurrencyStrategy.READ_WRITE
读写模式在更新缓存的时候会把缓存里面的数据换成一个锁,其它事务如果去取相应的缓存数据,发现被锁了,直接就去数据库查询; - CacheConcurrencyStrategy.NONSTRICT_READ_WRITE
不严格的读写模式则不会对缓存数据加锁; - CacheConcurrencyStrategy.TRANSACTIONAL
事务模式指缓存支持事务,当事务回滚时,缓存也能回滚,只支持 JTA 环境。
缓存的注释写法如下,加在 Entity 的 java 类上:
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)