我有个场景,当返回值不为null时再缓存,否则不缓存
cssliuzhy opened this issue · comments
cssliuzhy commented
cssliuzhy commented
我有个场景,想实现当返回值不为null的时候再进行缓存,否则不缓存
配置是
@Cache(expire = 0, key = "'APPCONF:'+#args[0]", condition = "@@notempty(#retVal)")
notempty 是我在CacheUtil类扩展出来的一个方法
但是和预期的结果不一样,结果是每次都不会缓存?
我发现 如果是READ_WRITE模式的话,这个condition的判断是取不到retVal的
qiujiayu commented
这个需求,现在就可以实现:
@Cache(expire = 60, expireExpression = "null == #retVal ? 0: 60", key = "'user-byid-' + #args[0]")
但这样层在缓存穿透问题。