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

SpringBoot缓存相关注解的使用

@CacheConfig:主要用于配置该类中会用到的一些共用的缓存配置

@Cacheable:主要方法的返回值将被加入缓存。在查询时,会先从缓存中获取,若不存在才再发起对数据库的访问

@CachePut:主要用于数据新增和修改操作

@CacheEvict:配置于函数上,通常用在删除方法上,用来从缓存中移除相应数据 

这些注解通常用于 Spring Framework 中对方法的缓存配置。以下是这些注解的简单使用案例:

@CacheConfig:配置类的缓存公共设置 

@CacheConfig(cacheNames = "myCache")
public class MyService {// ...
}

 这里配置了类中方法默认使用名为 "myCache" 的缓存。

 @Cacheable:查询方法的返回值将被加入缓存

@Cacheable
public String findById(Long id) {// 查询数据库的操作return "result";
}

查询方法 findById 的返回值将被加入缓存,下次调用该方法时,如果传入的 id 已经在缓存中存在,则直接从缓存中获取,而不是执行方法体。

@CachePut:新增和修改操作

@CachePut
public String updateData(Long id, String newData) {// 更新数据库的操作return newData;
}

新增或修改方法 updateData 的返回值将被加入缓存。与 @Cacheable 不同的是,@CachePut 注解会每次都执行方法体,并将结果加入缓存。

@CacheEvict:删除操作

@CacheEvict
public void deleteById(Long id) {// 删除数据库中对应 id 的数据
}

删除方法 deleteById 被调用时,会从缓存中移除对应 id 的缓存项。 

这些注解可以与缓存管理器一起使用,例如结合 EhCache 或 Redis 等实现具体的缓存操作。在使用这些注解时,通常需要在 Spring 配置文件中配置相应的缓存管理器。

http://www.lryc.cn/news/283744.html

相关文章:

  • SpiderFlow爬虫平台漏洞利用分析(CVE-2024-0195)
  • 计算机网络-甘晴void学习笔记
  • vue中使用echarts实现省市地图绘制,根据数据在地图上显示柱状图信息,增加涟漪特效动画效果
  • Android aar包集成与报错
  • CentOS 7.9 安装图解
  • Gitea Webhook报错 webhook.ALLOWED_HOST_LIST setting
  • SQL 最大连续合格次数 最大连胜记录次数 最大连败记录次数
  • 着色器语言GLSL学习
  • C#: form 窗体的各种操作
  • “尔滨”宠粉再升级!百亿像素VR冰雪盛宴
  • redis原理(四)redis命令
  • FairGuard游戏安全2023年度报告
  • 进阶Docker4:网桥模式、主机模式与自定义网络
  • Qt 状态机框架:The State Machine Framework (二)
  • 【Redis】更改redis中的value值
  • 数据结构Java版(2)——栈Stack
  • tcpdump 用法
  • JavaScript SEO:如何为搜索引擎优化 JS
  • 深入探讨生产环境中秒杀接口并发量剧增、负载过高的情况该如何应对?
  • C语言再学习 -- C语言搭建TCP服务器/客户端
  • 企业远程控制如何保障安全?向日葵“全流程安全远控闭环”解析
  • 为什么需要放行回源IP
  • 2023一带一路暨金砖国家技能发展与技术创新大赛“网络安全”赛项省选拔赛样题卷②
  • C语言:预处理详解
  • 一区优化直接写:KOA-CNN-BiLSTM-Attention开普勒优化卷积、长短期记忆网络融合注意力机制的多变量回归预测程序!
  • 高防IP如何有效应对网站DDOS攻击
  • 1.6 面试经典150题 - 跳跃游戏
  • Apache安全及优化
  • 【话题】边缘计算的挑战和机遇
  • react之unpkg.com前端资源加载慢、加载不出