Springboot 的 @Cacheable注解的设置

Springboot的默认缓存注解用起来很方便,但是也有一些设置方面的问题

这个 @Cacheable 注解,默认会缓存null 值的,这个行为不是我的期望行为,可以通过设置避免此问题:

@Cacheable(value = "unitCache", key = "#unitId", unless="#result == null")

另外,这个cache默认是永久存储的,即使重启Eclipse也能读取缓存的值;如果测试的时候,需要手工清除:

    @CacheEvict(value = "unitCache", key = "#unitId")

最后,如果需要清除所有的缓存值的话,需要增加注解:

@CacheEvict(value = "unitCache", key = "#unitId", allEntries = true)

并且注意这个 allEntries  = true 的注解上 直接加 @PreDestroy 注解是无效的,需要在其他的bean里面的方法加上,调用这个加了 @CacheEvict(xxx,  allEntries = true)  的方法才有效

@PreDestroy

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值