SpringBoot缓存相关注解的使用

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

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

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

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

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

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

java 复制代码
@CacheConfig(cacheNames = "myCache")
public class MyService {
    // ...
}

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

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

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

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

@CachePut:新增和修改操作

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

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

@CacheEvict:删除操作

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

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

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

相关推荐
摇滚侠17 小时前
《SpringBoot 3:入门与应用实战》第 12 章 JDBC 与事务 使用 JdbcTemplate 阅读笔记 32
spring boot·笔记·后端
步行cgn19 小时前
@Configuration 详解:Spring 配置类的核心注解
java·后端·spring
努力努力再努力wz1 天前
【Redis入门系列】从 KEYS 到 SCAN:渐进式遍历、Cursor 与位反转原理
数据库·redis·缓存
小宋10211 天前
大模型成本怎么控制:Token统计、缓存与模型路由实战
人工智能·缓存
卓怡学长1 天前
w210基于springboot反诈平台设计与实现
java·spring boot·spring·intellij-idea
大模型丫丫1 天前
如何提升单体 Spring Boot 应用的并发数?
java·spring boot·后端
RuoyiOffice1 天前
SpringBoot3+Vue3 最推荐的开源 OA 系统 2026:流程驱动、资源闭环、多端互通
spring boot·vue3·flowable·oa·协同办公·spring boot 3·开源oa
计算机毕设定制辅导-无忧学长1 天前
基于Spring Boot的玄幻小说个性化推荐平台设计与实现
java·vue.js·spring boot·后端·mysql·推荐算法
Harry Lei1 天前
长期记忆系统的设计与实现
spring boot·postgresql·embedding
宿6741 天前
vue3-时间戳防缓存
缓存