30、springboot——缓存之JSR107——@CacheEvict的使用④
* @CacheEvict 缓存清除
* key:指定要清除数据的key
* allEntries = true : 把指定缓存组件中的缓存全部清除;指定了这个key也就不用指定了
* beforeInvocation = true : 缓存的清除是否在方法执行之前执行
* 默认是清除缓存在方法执行之后执行;
* 配置为true时不管执行方法过程中是否出现异常在执行方法之前缓存都会会清除
举例应用:
在上一节的基础上service添加删除方法(同时按规则清除缓存)
1、删除指定key对应的缓存数据
@CacheEvict(value = "emp",key = "#id") public void del(Integer id){ System.out.println("del:"+ id); //employeeMapper.deleteEmpById(id); }
controller添加方法
@GetMapping("/delEmp") public String deleteEmployee(Integer id){ employeeService.deleteEmp(id); return "success"; }
操作步骤:假设同时查询1,2两个员工,然后删除1,再去查2,依然不会调用数据库;因为key指定了要清除的哪个缓存
2、allEntries = true : 把指定缓存组件中的缓存全部清除;配置了这个key也就不用配置了
@CacheEvict(value = "emp",allEntries = true) public void del(Integer id){ System.out.println("del:"+ id); //employeeMapper.deleteEmpById(id); }
操作步骤:假设同时查询1,2两个员工,然后删除1,再去查2,会调用数据库,因为emp中的缓存在调用这个delete方法之后就全被清除了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)