Java 我的api有时需要缓存数据,有时不需要?
我的服务有时需要缓存数据,有时不需要,所以我想写一个方法,在不需要时可以清除缓存,并且#有人能帮我创建一个restful java 8 spring boot吗35;spring提供的注释可以帮助您实现这一目的。如果您有条件地需要缓存,例如可以使用Java 我的api有时需要缓存数据,有时不需要?,java,spring,spring-boot,java-8,clear-cache,Java,Spring,Spring Boot,Java 8,Clear Cache,我的服务有时需要缓存数据,有时不需要,所以我想写一个方法,在不需要时可以清除缓存,并且#有人能帮我创建一个restful java 8 spring boot吗35;spring提供的注释可以帮助您实现这一目的。如果您有条件地需要缓存,例如可以使用@Cacheable注释的条件参数,例如: @Cacheable(cacheNames=“stuff”,condition=“#cached”) 公共列表findAll(布尔缓存){ // ... } 在这种情况下,如果调用findAll(true)
@Cacheable
注释的条件
参数,例如:
@Cacheable(cacheNames=“stuff”,condition=“#cached”)
公共列表findAll(布尔缓存){
// ...
}
在这种情况下,如果调用findAll(true)
,它将返回缓存的结果,而如果调用findAll(false)
,它将充当注释不存在的角色
从中创建REST API并不困难,因为缓存的参数也可能来自请求参数:
@GetMapping(“/api/stuff”)
@可缓存(cacheNames=“stuff”,condition=“#cached”)
公共列表findAll(@RequestParam boolean cached){
// ...
}
此外,如果要清除缓存,可以使用@cacheexecute
注释:
@cacheexecute(“东西”)
公共void clearCache(){
}
就像以前一样,你可以把这变成一个端点:
@DeleteMapping(“/api/stuff/cache”)
@缓存逐出(“东西”)
@ResponseStatus(HttpStatus.无内容)
公共void clearCache(){
}
所以不需要在clearcache(){………..}中编写任何代码?@cacheExit
会为您清除缓存,因此基本上您不需要任何代码。