網站開發(fā)與運維收費明細seo技巧seo排名優(yōu)化
@CacheConfig:主要用于配置該類中會用到的一些共用的緩存配置
@Cacheable:主要方法的返回值將被加入緩存。在查詢時,會先從緩存中獲取,若不存在才再發(fā)起對數據庫的訪問
@CachePut:主要用于數據新增和修改操作
@CacheEvict:配置于函數上,通常用在刪除方法上,用來從緩存中移除相應數據?
這些注解通常用于 Spring Framework 中對方法的緩存配置。以下是這些注解的簡單使用案例:
@CacheConfig:配置類的緩存公共設置?
@CacheConfig(cacheNames = "myCache")
public class MyService {// ...
}
?這里配置了類中方法默認使用名為 "myCache" 的緩存。
?@Cacheable:查詢方法的返回值將被加入緩存
@Cacheable
public String findById(Long id) {// 查詢數據庫的操作return "result";
}
查詢方法 findById
的返回值將被加入緩存,下次調用該方法時,如果傳入的 id
已經在緩存中存在,則直接從緩存中獲取,而不是執(zhí)行方法體。
@CachePut:新增和修改操作
@CachePut
public String updateData(Long id, String newData) {// 更新數據庫的操作return newData;
}
新增或修改方法 updateData
的返回值將被加入緩存。與 @Cacheable
不同的是,@CachePut
注解會每次都執(zhí)行方法體,并將結果加入緩存。
@CacheEvict:刪除操作
@CacheEvict
public void deleteById(Long id) {// 刪除數據庫中對應 id 的數據
}
刪除方法 deleteById
被調用時,會從緩存中移除對應 id
的緩存項。?
這些注解可以與緩存管理器一起使用,例如結合 EhCache 或 Redis 等實現具體的緩存操作。在使用這些注解時,通常需要在 Spring 配置文件中配置相應的緩存管理器。