当前位置: 首页 > 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.lryc.cn/news/619115.html

相关文章:

  • Dubbo 3.x源码(33)—Dubbo Consumer接收服务调用响应
  • 赛灵思ZYNQ官方文档UG585自学翻译笔记:UART Controller,通用异步收发传输器控制器
  • I2C 接收与发送数据的流程
  • 成都影像产业园实训考察:重庆五一职院关注技能就业
  • 【DL】深层神经网络
  • 《疯狂Java讲义(第3版)》学习笔记ch1
  • 力扣 hot100 Day71
  • 【1】Transformers快速入门:自然语言处理(NLP)是啥?
  • 机器学习第十课之TF-IDF算法(红楼梦文本分析)
  • LangChain SQLChatMessageHistory:SQL数据库存储聊天历史详解
  • 混合精度加快前向传播的速度
  • 计算机视觉(8)-纯视觉方案实现端到端轨迹规划(模型训练+代码)
  • MDD-Net:通过相互Transformer进行多模态抑郁症检测
  • 【沧海拾昧】使用LibUsbDotNet进行Windows/Ubuntu跨平台串口管理
  • XGBoost 的适用场景以及与 CNN、LSTM 的区别
  • 循环神经网络(RNN)全面解析
  • 文件IO(1)
  • 【doris基础与进阶】3-Doris安装与部署
  • UE5多人MOBA+GAS 42、提高头像画质
  • 方格网法土方计算不规则堆体
  • 常用Linux指令:Java/MySQL/Tomcat/Redis/Nginx运维指南
  • 安路Anlogic FPGA下载器的驱动安装与测试教程
  • 京东方 DV133FHM-NN1 FHD13.3寸 工业液晶模组技术档案
  • C++方向知识汇总(四)
  • UserController类讲解
  • Milvus入门:开源向量数据库,解锁大模型时代的高效检索
  • iptables -L 显示无目标链规则,但是iptables-save显示仍存在链规则原因分析
  • LeetCode189~191、198~214题解
  • 力扣top100(day01-05)--矩阵
  • Golang 语言中 Context 的使用方式