SpringCache @Cacheable 在同一个类中调用方法,导致缓存不生效的问题及解决办法

由于项目需要使用SpringCache来做一点缓存,但自己之前没有使用过(其实是没有听过)SpringCache,于是,必须先学习之。

显然,就是在同一个类中,MethodA 调用了 MethodB,那么 MethodB 上面的 @Cacheable 注释就会失效!

而解决办法,人家也说了,如下图:

就是:SpringAOP 无法解决,需要使用 AspectJ 来解决!

那么,接下来的问题就是:如何从 SpringAOP 切换到 AspectJ 呢?

网上搜索了一大堆(至于当时自己到底是如何一步一步搜索到结果的,已经记不得了),最后找到的解决办法如下:

第一步:

SpringCache默认的 mode = proxy,需要将其设置为mode = aspectj,如下2图所示

以前的:

修改后:

那这个 mode 到底是个什么意思呢?查看 XSD 文件,说明如下:

相关推荐
观无10 小时前
Redis远程链接应用案例
数据库·redis·缓存·c#
星星点点洲10 小时前
【缓存与数据库结合方案】伪从技术 vs 直接同步/MQ方案的深度对比
数据库·缓存
好想有猫猫12 小时前
【Redis】服务端高并发分布式结构演进之路
数据库·c++·redis·分布式·缓存
爱的叹息14 小时前
MyBatis缓存配置的完整示例,包含一级缓存、二级缓存、自定义缓存策略等核心场景,并附详细注释和总结表格
缓存·mybatis
山猪打不过家猪15 小时前
(六)RestAPI 毛子(外部导入打卡/游标分页/Refit/Http resilience/批量提交/Quartz后台任务/Hateoas Driven)
网络·缓存
李宥小哥17 小时前
Redis01-基础-入门
缓存·中间件
多多*18 小时前
非关系型数据库 八股文 Redis相关 缓存雪崩 击穿 穿透
java·开发语言·jvm·数据库·redis·缓存·nosql
伊织code20 小时前
cached-property - 类属性缓存装饰器
python·缓存·cache·装饰器·ttl·property·cached-property
李宥小哥21 小时前
Redis03-基础-C#客户端
开发语言·缓存·中间件·c#
Ten peaches21 小时前
苍穹外卖(缓存商品、购物车)
spring boot·redis·mysql·缓存