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

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

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

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

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

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

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

第一步:

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

以前的:

修改后:

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

相关推荐
晨曦夜月1 小时前
高并发内存池——单例模式在缓存的作用
缓存·单例模式
jeCA EURG2 小时前
一、安装Redis(win11环境下)
数据库·redis·缓存
AILabNotes3 小时前
016、性能与安全权衡:网关的缓存、中继与匿名化策略
安全·缓存
小江的记录本5 小时前
【分布式】分布式核心组件——分布式ID生成:雪花算法、号段模式、美团Leaf、百度UidGenerator、时钟回拨解决方案
分布式·后端·算法·缓存·性能优化·架构·系统架构
摇滚侠20 小时前
短信验证码登录 Redis实战 黑马程序员
数据库·redis·缓存
014-code1 天前
Redis Stream:消息队列的进阶之路
数据库·redis·缓存
IntMainJhy1 天前
【Flutter for OpenHarmony 】第三方库 实战:`cached_network_image` 图片缓存+骨架屏鸿蒙适配全指南✨
flutter·缓存·harmonyos
JoshRen1 天前
Window下Redis的安装和部署详细图文教程(Redis的安装和可视化工具的使用)
数据库·redis·缓存
eRRA OFAG1 天前
Redis 设置密码无效问题解决
数据库·redis·缓存
ALex_zry1 天前
go-zero Redis缓存封装与Model层设计
redis·缓存·golang·气象