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