java - 使用@CacheEvict中的键清除单个端点的缓存

标签 java spring spring-mvc spring-boot caching

有人可以详细解释一下如何使用带有 @CacheEvict(value = "something", key = "idblah") 注释的键。

我正在尝试清除 36 个不同端点的缓存。

我已经有了可以同时清除所有端点的缓存,但我需要能够分别清除每个端点的缓存。

最佳答案

所以,我能够弄清楚如何使用它。所有 36 个端点都有不同的缓存。所以,我使用了:

@Caching(evict = {@CacheEvict(value = 'accessory1', key = "'acc1'"), @CacheEvict(value = 'accessory2', key = "'acc2'"), //etc..}) 

对于我的服务类中的每个方法,我都在缓存旁边包含了 key 。像这样:

@Cacheable(value = "accesory1", key = "'acc1'")
public Accessory1 callAccessory1(String input1) throws ParserConfigurationException, IOException{
//method logic
}

key 内的单引号用于接受 key 作为字符串。它工作得很好,如果您有任何意见,请不要犹豫发表评论。

谢谢大家!

关于java - 使用@CacheEvict中的键清除单个端点的缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52193331/

相关文章:

java - 如何制作一个带有空格的单词三角形,其中下一个字符将出现

java - 如何通过单例实例方法返回不同的类型

spring - 如何复制Spring的component-scan

java - Spring 单元测试

spring - 前端 Controller 模式的 Servlet url 映射

java - 使用springfox创建对象json

java - Vertx 和 JavaFx

java - 如何使用 JDBC 从 ResultSet 中只获取 5 行?

java - 从Spring MVC拦截器访问Controller的方法参数值

spring - 如何从 db 加载 cron 表达式并使用 Spring 重新安排它?