Spring Cache:Evict多个缓存

27 java spring spring-cache

我正在使用Spring Cache抽象,我定义了多个缓存.有时,当数据发生变化时,我想要驱逐多个缓存.有没有使用Spring的@CacheEvict注释驱逐多个缓存?

Jai*_*o99 51

你可以这样做:

@Caching(evict = {
    @CacheEvict("primary"),
    @CacheEvict(value = "secondary", key = "#p0")
})
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请参阅参考

  • Kotlin 版本是:`@Caching(evict = [ CacheEvict("primary"), CacheEvict(value = [" secondary"], key = "#p0") ])` (3认同)

ygl*_*odt 36

保持紧凑:您可以通过在@CacheEvict注释中枚举它们来逐出多个缓存:

@CacheEvict(value = { "cache1", "cache2" }, allEntries = true)
Run Code Online (Sandbox Code Playgroud)

  • 可以提及这样的键 `@CacheEvict(value = { "cache1", "cache2" }, key = "key")` (3认同)