首页 > 其他分享 >Spring boot2.7整合jetcache方法缓存 处理数据发生变化时同步更新缓存 删除缓存操作

Spring boot2.7整合jetcache方法缓存 处理数据发生变化时同步更新缓存 删除缓存操作

时间:2024-03-20 19:34:21浏览次数:25  
标签:boot2.7 缓存 name get Spring book key jetcache

上文 Spring boot2.7整合jetcache方法缓存 我们做了个方法缓存的案例

可以将接口内容缓存起来 是能大大提高效率的 但是 我们接口的数据大多来自数据库 如果我们调用增删查改 它的数据变化了
那缓存的内容就会因为没有及时更新变的不准确

例如 我们这样
在这里插入图片描述
我们在上面 定义了 一个 book对象 并给对应的 id和name字段赋值

get请求 getMin 返回 book对象 接口方法 绑定了缓存

而 post请求 setBook 接受一个 book对象 然后 改变原本的book对象

我们来测试运行效果

我们调用 get请求 一切正常
在这里插入图片描述
然后 我们调用 post请求 修改调book的数据
在这里插入图片描述
重新请求get

但因为缓存的存在 返回结果 依旧是 第一次的结果
在这里插入图片描述
因为 返回结果实际是重 缓存取的

我们导个包

import com.alicp.jetcache.anno.CacheUpdate;

然后 在更新的函数中这样写

@CacheUpdate(name="book",key="1",value="#bindata")

我们要更新的缓存 name 叫 book的缓存 如果 你有id为key 就可以加上key参数
例如

@CacheUpdate(name="book", key="#id", value="#BinData")

在这里插入图片描述
然后 value 告诉它 我们要用 参数中的 BinData 替换缓存结果

因为 这个操作 一定要通过key去改 所以 我就还是加上了一个key给get
然后 我们重写启动项目

重复之前的操作
这次 查询就可以获取更新了
在这里插入图片描述
导包

import com.alicp.jetcache.anno.CacheInvalidate;

方法头上加上

@CacheInvalidate(name="book",key = "1")

在这里插入图片描述
就是 通过 key和name 删除指定缓存

标签:boot2.7,缓存,name,get,Spring,book,key,jetcache
From: https://blog.csdn.net/weixin_45966674/article/details/136876541

相关文章

  • Spring boot2.7整合jetcache方法缓存
    前面的文章我们讲了springboot整合jetcache做基本字符串数据缓存但是我这里有个这样的逻辑我的domain包下有一个book属性类里面就id和name属性设置了对应的setget函数和一个整体的构造函数packagecom.example.javadom.domain;publicclassboo......
  • 【数据脱敏方案】不使用 AOP + 注解,使用 SpringBoot+YAML 实现
    文章目录引入认识YAML格式规范定义脱敏规则格式脱敏逻辑实现读取YAML配置文件获取脱敏规则通过键路径获取对应字段规则原始优化后对数据进行脱敏处理递归生成字段对应的键路径脱敏测试完整工具类引入在项目中遇到一个需求,需要对交易接口返回结果中的指定字段......
  • 1、【AI技术新纪元:Spring AI解码】Spring AI 应用框架
    SpringAI应用框架SpringAI是面向人工智能工程的应用框架。其目标是将Spring生态系统的设计原则如可移植性和模块化设计应用于AI领域,并推广使用POJOs(PlainOldJavaObjects,简单旧式Java对象)作为应用程序的构建块。特点跨AI提供商的可移植API支持,涵盖聊天、文本到图像......
  • springboot-Swagger
    Swagger简介前后端分离Vue+SpringBoot后端时代:前端只用管理静态页面:html==>后端。。模版引擎JSP=>后端是主力前后端分离后端:后端控制层,服务层,数据访问层【后端团队】前端:前端控制层,视图层【前端团队】Swagger号称世界上最流行的API框架RestfulApi文档在线自动生成......
  • Spring入门案例
    一、下载Spring5jar包官网地址:https://spring.io/版本目录:https://spring.io/projects/spring-framework#learn下载地址:https://repo.spring.io/ui/native/release/org/springframework/spring/二、新建java工程2.1新建项目2.2导入jar包必需的jar包2.2.1新建lib......
  • Springboot笔记-05
    1.Springboot的热部署spring为开发者提供了一个名为spring-boot-devtools的模块来使SpringBoot应用支持热部署,提高开发者的开发效率,无需手动重启SpringBoot应用。在pom文件加入依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-b......
  • SpringBoot整合Mybatis(SpringBoot3)
    依赖pom.xml:pom.xml<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://......
  • spring的IOC
    IOC翻译成中文是"控制反转",不是具体技术,而是实现对象解耦的思想。控制反转的意思是将依赖对象生命周期控制权进行反转,全称应该是控制权反转。之前需要一个对象,常用的方法就是在当前对象中new一个对象,那这样有个比较大的问题在于,耦合,一旦new的那个对象构造方法变动,那么所有使用到......
  • mybatis一二级缓存简介
    一、前言1,代码和准备工作见:mybatis工作原理简介-seeAll-博客园(cnblogs.com); 二、一级缓存1,效果展示1.1,测试代码代码中,使用SqlSession查询过一次数据;本例在此之后,继续添加一段代码,使用同样的SqlSession再次查询,观察结果数据来自于缓存还是数据库。 1.2,观察第一次......
  • 第一次实践spring cloud项目出的若干问题
    也许更好的阅读体验技术栈说明springcloud+eureka+feign+ribbon+hystrix+gateway+config+bus反序列化失败:Typedefinitionerror:[simpletype,classcom.elm.po.CommonResult];nestedexceptioniscom.fasterxml.jackson.databind.exc.InvalidDefinition......