【发布时间】:2014-10-12 07:06:08
【问题描述】:
我正在使用 Spring Cache 抽象,并且定义了多个缓存。有时,当数据发生变化时,我想驱逐多个缓存。
是否可以使用 Spring 的 @CacheEvict 注释来驱逐多个缓存?
【问题讨论】:
标签: java spring spring-cache
我正在使用 Spring Cache 抽象,并且定义了多个缓存。有时,当数据发生变化时,我想驱逐多个缓存。
是否可以使用 Spring 的 @CacheEvict 注释来驱逐多个缓存?
【问题讨论】:
标签: java spring spring-cache
你可以这样做:
@Caching(evict = {
@CacheEvict("primary"),
@CacheEvict(value = "secondary", key = "#p0")
})
查看Reference了解详情
【讨论】:
保持简洁:您可以通过在@CacheEvict 注解中枚举多个缓存来驱逐多个缓存:
@CacheEvict(value = { "cache1", "cache2" }, allEntries = true)
【讨论】:
allEntries = true) 应用于您指定的所有缓存。根据我的经验,这种情况并不常见。
@CacheEvict(value = { "cache1", "cache2" }, key = "key")