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

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

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

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

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

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

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

第一步:

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

以前的:

修改后:

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

相关推荐
YOU OU8 小时前
Redis基础常识与命令
数据库·redis·缓存
吳所畏惧12 小时前
宝塔面板Redis密码修改指南:SSH命令修改 vs 面板UI界面修改,哪个更靠谱?
运维·服务器·数据库·redis·缓存·ssh
Y38153266218 小时前
SERP API + Redis 缓存层:4 种方案对比与选型
数据库·redis·缓存
海兰20 小时前
【高速缓存】RedisVL 高级查询(全文搜索、混合搜索和 多向量搜索)
数据库·人工智能·redis·缓存
流星白龙1 天前
【Redis】4.基本全局命令
数据库·redis·缓存
流星白龙2 天前
【Redis】3.Redis安装与命令行客户端
数据库·redis·缓存
我不想名字重复2 天前
redis缓存和数据库数据保持一致
数据库·redis·缓存
时空无限2 天前
vllm 大模型启动缓存相关环境变量 export
linux·缓存·vllm
流星白龙2 天前
【Redis】6.计数其他命令
数据库·redis·缓存
正儿八经的少年2 天前
redis 的大 key 和热 key 详解
数据库·redis·缓存