Spring Boot数据缓存之Spring数据缓存 @Cacheable初体验
在数据缓存之Cache规范JSR107中对Spring的缓存抽象有了一定的了解,下面通过示例实战对其深入探讨。需要注意的是使用Spring缓存抽象时要关注两点:
① 确定那些方法需要被缓存
② 缓存策略
具体案例如下:
1、导入依赖Mysql、Mybatis、Web模块
其中下图中依赖必备,否则关于mybatis相关内容报错
2、搭建环境数据库表及对应实体(不详述)
3、数据库配置等
4、使用注解版Mybatis:使用@MapperScan指定mapper接口所在的包——这个就使用了第一个图中的第一个依赖。
5、后续就是web开发的具体操作(参考Spring MVC快速搭建),其中数据库的访问使用了mybatis(参考四、MyBatis注解开发)。
测试:访问请求localhost:8080/emp/1
可以看出其访问了数据库,如果不添加缓存处理再次提交请求还是会访问数据库,如下:
添加缓存后:
测试结果一样,但是debug的结果就是不一样——不会再访问数据库。需注意缓存的添加必须上两图中绿色标注内容同时操作,否则不生效。
以上缓存的使用与Mybatis中的缓存的使用有何异同,又各具怎样的优劣呢?后续通过剖析相关源码深入了解。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?