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

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

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

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

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

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

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

第一步:

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

以前的:

修改后:

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

相关推荐
chushiyunen1 小时前
redis命令 geo(对地理坐标的支持)
数据库·redis·缓存
Jtti6 小时前
PHP项目缓存占用硬盘过大?目录清理与优化
java·缓存·php
哥哥还在IT中7 小时前
缓存架构设计模式:Cache-Aside, Read-Through/Write-Through详解
spring boot·spring·缓存
Charles_go10 小时前
C#中级8、什么是缓存
开发语言·缓存·c#
q***040510 小时前
Nginx 缓存清理
运维·nginx·缓存
movie__movie14 小时前
秒杀库存扣减可以用redis原子自增么
数据库·redis·缓存
Y***K43418 小时前
后端缓存策略设计,多级缓存架构实践
缓存·架构
CPU NULL1 天前
Redis相关知识点总结
java·数据库·spring boot·redis·缓存
LoneEon1 天前
Ubuntu 上搭建 Redis 3 节点集群(6 实例:3主3从)
数据库·redis·缓存
007php0071 天前
Redis面试题解析:Redis的数据过期策略
java·网络·redis·缓存·面试·职场和发展·php