有人可以详细解释一下如何使用带有 @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/