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

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

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

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

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

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

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

第一步:

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

以前的:

修改后:

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

相关推荐
云存储小天使1 小时前
GooseFS 推出元数据发现功能 —— 向更智能的缓存服务迈进
缓存
晓13131 小时前
第七章:Redis高级最佳实践详解
redis·分布式·缓存
知识即是力量ol17 小时前
基于 Redis 实现白名单,黑名单机制详解及应用场景
数据库·redis·缓存
fengxin_rou19 小时前
Redis 从零到精通:第一篇 初识redis
数据库·redis·缓存
陌上丨1 天前
Redis内存使用率在95%以上,请问是什么原因?如何解决?
数据库·redis·缓存
dawdo2221 天前
自己动手从头开始编写LLM推理引擎(9)-KV缓存实现和优化
缓存·llm·transformer·qwen·kv cache
小北方城市网1 天前
RabbitMQ 生产级实战:可靠性投递、高并发优化与问题排查
开发语言·分布式·python·缓存·性能优化·rabbitmq·ruby
陌上丨1 天前
什么是Redis的大Key和热Key?项目中一般是怎么解决的?
数据库·redis·缓存
小园子的小菜1 天前
深入剖析HBase HFile原理:文件结构、Block协作与缓存机制
数据库·缓存·hbase
廋到被风吹走1 天前
【缓存优化】缓存穿透:布隆过滤器(Guava/RedisBloom)
缓存·guava