我们都知道可以使用@Cached注解为一个方法添加上缓存,但在今天我使用的过程中,无论怎么设置都是无法进行缓存。
究竟是什么原因呢?
这里我们需要知道的是 JetCache是通过Spring AOP生成代理,来支持缓存功能的,而Spring AOP是使用Cjlib或者Proxy得到的代理,然后在代理的基础上调用方法,相关的切面才会执行,这也就是说如果你使用的@Cached标注的方法没有直接经过代理,而是通过代理的方法去调用的,那么该@Cached是不会生效的。
这个时候可以考虑使用@CreateCache或者其它方式进行缓存。
JetCache中@Cached无法实现缓存
最新推荐文章于 2024-07-04 18:34:14 发布
当使用@Cached注解实现缓存功能时,如果方法未直接经过Spring AOP代理,会导致缓存失效。本文揭示了JetCache依赖于Spring AOP的代理机制,并提出了解决方案,如使用@CreateCache或调整调用方式确保缓存生效。
摘要由CSDN通过智能技术生成