Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/134.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我的api有时需要缓存数据,有时不需要?_Java_Spring_Spring Boot_Java 8_Clear Cache - Fatal编程技术网

Java 我的api有时需要缓存数据,有时不需要?

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)

我的服务有时需要缓存数据,有时不需要,所以我想写一个方法,在不需要时可以清除缓存,并且#有人能帮我创建一个restful java 8 spring boot吗35;

spring提供的注释可以帮助您实现这一目的。如果您有条件地需要缓存,例如可以使用
@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
会为您清除缓存,因此基本上您不需要任何代码。