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

springboot中使用springboot cache

 前言:SpringBoot中使用Cache缓存可以提高对缓存的开发效率

此图片是SpringBootCache常用注解

Springboot Cache中常用注解

第一步:引入依赖

        <!--缓存--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-cache</artifactId></dependency><!--redis--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency>

 第二步:在启动类添加@EnableCachin

@EnableCaching    //开启缓存注解功能

 第三步:在实体类上继承序列化接口

public class User implements Serializable 

 

第四步:使用注解

    @PostMapping("/add")@CachePut(cacheNames = "userCache",key = "#user.id")   //缓存数据public User addInfo(@RequestBody User user){boolean save = userService.save(user);return user;}@GetMapping("/get/{id}")@Cacheable(cacheNames = "userCache", key = "#id")     //查询redis中是否存储的有数据,有数据直接返回,没有数据前往MySQL查询数据public User getUser(@PathVariable Integer id){return userService.getById(id);}@DeleteMapping("/del/{id}")@CacheEvict(cacheNames = "userCache",key = "#id")    //删除数据的时候同时删除缓存数据public void delUser(@PathVariable Integer id){userService.removeById(id);}@DeleteMapping("/delAll")@CacheEvict(cacheNames = "userCache",allEntries = true)    //删除全部数据的时候同时删除缓存中全部数据public void delUser(){userService.deleteAll();}

相关文章:

  • iOS端授权页添加自定义按钮
  • android 是Application类先运行还是AndroidManifest.xml中action先运行?Application类先运行
  • 计算机公共课面试常见问题:线性代数篇
  • 计算机视觉 | 基于图像处理和边缘检测算法的黄豆计数实验
  • TS_开发一个项目
  • 【51单片机】串口通信(发送与接收)
  • uniapp中实现瀑布流 短视频页面展示
  • python3递归目录删除N天前的文件(带有日志记录)
  • RabbitMQ中java实现队列和交换机的声明
  • (vue)el-tabs选中最后一项后更新数据后无法展开
  • 大数据面试题之HBase(1)
  • LabVIEW遇到无法控制国外设备时怎么办
  • 学生管理系统
  • Langchain-实战篇-搭建本地问答机器人-01
  • Linux下QT程序启动失败问题排查方法
  • [iOS]Core Data浅析一 -- 启用Core Data
  • 【node学习】协程
  • avalon2.2的VM生成过程
  • EventListener原理
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • Lucene解析 - 基本概念
  • React组件设计模式(一)
  • Redis 中的布隆过滤器
  • Shadow DOM 内部构造及如何构建独立组件
  • zookeeper系列(七)实战分布式命名服务
  • 阿里云前端周刊 - 第 26 期
  • 分享一个自己写的基于canvas的原生js图片爆炸插件
  • 关键词挖掘技术哪家强(一)基于node.js技术开发一个关键字查询工具
  • 汉诺塔算法
  • 理解IaaS, PaaS, SaaS等云模型 (Cloud Models)
  • 让你成为前端,后端或全栈开发程序员的进阶指南,一门学到老的技术
  • 深入体验bash on windows,在windows上搭建原生的linux开发环境,酷!
  • 使用common-codec进行md5加密
  • 使用putty远程连接linux
  • 移动端 h5开发相关内容总结(三)
  • 用Canvas画一棵二叉树
  • 云大使推广中的常见热门问题
  • k8s使用glusterfs实现动态持久化存储
  • # MySQL server 层和存储引擎层是怎么交互数据的?
  • (a /b)*c的值
  • (android 地图实战开发)3 在地图上显示当前位置和自定义银行位置
  • (iPhone/iPad开发)在UIWebView中自定义菜单栏
  • (java)关于Thread的挂起和恢复
  • (NSDate) 时间 (time )比较
  • (顶刊)一个基于分类代理模型的超多目标优化算法
  • (附源码)ssm码农论坛 毕业设计 231126
  • (附源码)计算机毕业设计ssm-Java网名推荐系统
  • (三)uboot源码分析
  • ./mysql.server: 没有那个文件或目录_Linux下安装MySQL出现“ls: /var/lib/mysql/*.pid: 没有那个文件或目录”...
  • .gitignore文件—git忽略文件
  • .net core 6 集成 elasticsearch 并 使用分词器
  • .net分布式压力测试工具(Beetle.DT)
  • .NET基础篇——反射的奥妙
  • .NET开发不可不知、不可不用的辅助类(一)
  • .NET上SQLite的连接