我正在尝试在春季项目中配置Caffeine。通过阅读guide,,我可以看到有多种方法可以将其配置到您的应用程序中,从创建缓存管理器bean到在application.yml属性文件中显式写入配置。
到目前为止,我已经使用了application.yml
方法来配置咖啡因缓存:
spring:
cache:
type: Caffeine
cache-names: test1
caffeine:
spec: maximumSize=500, expireAfterAccess=30s
我正在使用的控制器方法中使用@Cachable
批注:
@GetMapping
@Cacheable(value = "test1", key = "#accountId")
public DTOStatus getStatus(@PathVariable String accountId) {
if (statusChecker.equals(Check.REQUIRED)) {
deleteAccountFromCache(accountId);
return transformDTO(statusChecker);
} else {
return transformDTO(statusChecker);
}
}
@CacheEvict(value = "test1", key = "#accountId")
public void deleteAccountFromCache(String accountId){
//Method body left blank. The annotation deletes the accountId from the cache.
}
我想知道是否已正确配置缓存。我目前无法对其进行测试,但只想确保已完成启用咖啡因的所有必要步骤
答案 0 :(得分:0)
例如,还可以在配置Java类中添加org.springframework.cache.annotation.EnableCaching注释。
@EnableCaching
class ApplicationConfig {