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

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

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

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

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

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

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

第一步:

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

以前的:

修改后:

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

相关推荐
李匠20245 小时前
C++学习之redis
数据库·redis·缓存
techpupil8 小时前
LeetCode146.LRU 缓存(哈希表+双向链表)
链表·缓存·散列表
会喷火才能叫火山10 小时前
集群环境下Redis 商品库存系统设计
java·数据库·redis·缓存
高锰酸钾_20 小时前
Redis如何实现持久化
数据库·redis·缓存
小池先生1 天前
redis长时间未请求,无法自动重连,报异常org.springframework.data.redis.RedisSystemException
数据库·redis·缓存
master-dragon1 天前
缓存及其问题解决
数据库·缓存
渗透测试老鸟-九青1 天前
关于缓存欺骗的小总结
网络·经验分享·安全·web安全·缓存·面试
专注_每天进步一点点1 天前
Redis客户端Jedis、Lettuce 和 Redisson优缺点总结
数据库·redis·缓存
小L~~~2 天前
LFU(最不经常使用) 缓存算法实现
c++·算法·缓存