@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 配置文件中配置相应的缓存管理器。
原文地址:https://blog.csdn.net/weixin_45266691/article/details/135678776
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_60478.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!