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

时间:2018-09-05 21:00:52

标签: java spring spring-mvc spring-boot caching

有人可以详细说明如何使用带有@CacheEvict(value = "something", key = "idblah")批注的键。

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

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

1 个答案:

答案 0 :(得分:1)

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

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

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

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

密钥内的单引号用于接受密钥作为字符串。效果很好,如果您有任何输入,请随时发表评论。

谢谢大家!