当前位置: 首页 > news >正文

Spring-Cache 缓存数据

使用 Spring Cache 来整合 Redis 作为缓存,核心目的是简化缓存逻辑的开发,同时利用 Redis 高性能的缓存能力,并借助 Spring 的抽象能力实现缓存逻辑的标准化、低耦合。
具体来说,为什么要这样做?

  1. 简化缓存代码,减少重复劳动
    Redis 作为缓存时,原生用法需要手动编写大量重复代码:

先查缓存(redisTemplate.opsForValue().get(key));
缓存不存在则查数据库;
查完数据库再手动将结果存入缓存(redisTemplate.opsForValue().set(key, value, 过期时间));
还需要处理缓存更新、删除等逻辑(如更新数据后删除缓存)。

pom.xml导入

2025-08-12T12:11:07.png

常用注解

2025-08-12T12:10:16.png

使用方法

在启动类加@EnableCaching注解

2025-08-12T15:12:54.png

@CachePut注解,cacheNames未键名,其实在redis生成的是cacheNames后面的userCache::在加key,一种树形结构

2025-08-12T15:32:37.png


 

2025-08-12T15:32:47.png

2025-08-12T15:33:12.png

@Cacheable注解,用于查询数据的时候,如果换成有这个数据,那么就返回这个缓存,如果没有,那么就去查询(如mysql)查询的返回结果返回给用户,方法结束后,同时也存入缓存,下次查询的时候,返回缓存数据即可,无需执行下方方法;

2025-08-12T15:48:15.png


 

2025-08-12T15:43:31.png

2025-08-12T15:46:12.png

@CacheEvict [evict:意思是逐出,驱赶],在执行方法后,删除对于缓存;

2025-08-12T15:56:00.png


 

2025-08-12T15:56:11.png


删除成功后
 

2025-08-12T15:56:27.png


 

2025-08-12T15:56:39.png


 

2025-08-12T15:56:47.png


删除所有缓存,则使用allEntries=true,就不用后面的key唯一标识了

2025-08-12T16:00:08.png

http://www.xdnf.cn/news/1289791.html

相关文章:

  • windows git安装步骤
  • XGBoost 的适用场景以及与 CNN、LSTM 的区别
  • 网络协议——HTTP协议
  • Linux服务:Apache 虚拟主机配置指南:多站点部署三种方式详解
  • 【超详细!题解|两种做法】洛谷P3196 [HNOI2008] 神奇的国度[MCS算法]
  • 深入剖析 React 合成事件:透过 onClick 看本质
  • 过程设计工具深度解析-软件工程之详细设计(补充篇)
  • Nginx 高级配置
  • 【后端】Spring @Resource和@Autowired的用法和区别
  • 通用同步/异步收发器USART串口
  • excel-随笔记
  • [ 数据结构 ] 时间和空间复杂度
  • Python初学者笔记第二十二期 -- (JSON数据解析)
  • VGG改进(2):基于Local Attention的模型优化
  • 【图像算法 - 13】基于 YOLO12 与 OpenCV 的实时目标点击跟踪系统(系统介绍 + 源码详细)
  • 获取数组,字符串,集合的长度
  • C++——高性能组件
  • 算法打卡力扣第88题:合并两个有序数组(easy)
  • 解释 Spring MVC 的工作原理
  • _init__.py的作用
  • 智能装配线cad【8张】三维图+设计说明书
  • linux 执行ls命令文件夹显示全白色
  • Langchain入门:文本摘要
  • 多轮问答与指代消解
  • 一维数组的创建、初始化与使用指南
  • “生成式UI革命”:Tambo AI如何让你的应用“开口说话、动手搭界面” | 全面深剖、案例实践与未来展望
  • Python函数篇:从零到精通
  • ubuntu24下keychorn键盘连接不了的改建页面的问题修复
  • 每日任务day0812:小小勇者成长记之挤牛奶
  • 10-docker基于dockerfile自动制作镜像