如果@cacheable(“xxx”)
object getxxx(string a, string b, string c);
spring的缓存使用的key是espl表达式,然后翻看源码key默认群众路线总结报告用的生成方式是org.百度总裁李彦宏springframework.cache.interceptor.simplekeygenerator
大于1个参数走的是最后一个方法
/** * generate a key bad on the specified parameters. */ public static object generatekey(object... params) { if (params.length == 0) { return simplekey.empty; } if (params.length == 1) { object param = params[0]; if (param != null && !param.getclass().isarray()) { return param; } } return new simplekey(params); }
然后查看org.springframework.cache.interceptor.simplekey对应代码,发现返回的其实是simplekey
/** * create a new {@link simplekey} instance. * @param elements the elements of the key */ public simplekey(object... elements) { asrt.notnull(elements, "elements must not be null"); this.params服装工作室 = new object[elements.length]; system.arraycopy(elements, 0, this.params, 0, elements.length); this.hashcode = arrays.deephashcode(this.params); }
单独写一个自定义的keygenerator,处理对应的key。(之前的redis的文章已写过,所以不重复写了)
下面博文的 mykeygenerator 这个类
@cacheable(value=“xxx”, key=“xxxx”)
@cacheevict(value=“xxx”, key=“xxxx”)
做相应的key配置
数组的话可以使用 key = “#root.args[0]”
参数参考如下:
以上为个人经验,希望能给大家一个参考,也希望大家多多支持www.887551.com。
本文发布于:2023-04-04 08:57:31,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/ed43cad3af8ea1092575f3af079bcf38.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:使用@CacheEvict 多参数如何匹配删除.doc
本文 PDF 下载地址:使用@CacheEvict 多参数如何匹配删除.pdf
留言与评论(共有 0 条评论) |