缓存构建后,Spring引导缓存逐出

问题描述 投票:0回答:1

我们使用@Cacheable和@CacheEvict进行缓存实现。

问题是,构建缓存需要3分钟以上。根据应用程序逻辑,首先清除缓存然后创建。在任何用户访问我们的应用程序之间,应用程序无法在缓存仍在构建时发送数据。

是否有任何弹簧方式首先构建缓存,然后用新缓存替换旧缓存(除了@CachePut)。

谢谢,Srikanth。

spring spring-boot caching spring-cache
1个回答
0
投票

为什么不在@Cachevict中调用@Cacheable分配的方法。因为在清除缓存后你的@Cacheabe方法被调用并在那个时间间隔内加载数据?但是这对于内存缓存来说不是一个好习惯,因为缓存应该基于请求。

@Cacheable(cacheNames = "***", key = "#CACHE_KEY")
public void doStuff(){

}

@Schedule(cron = "${your time}")
@Cachevict
 public void clearCache(){
    log("Cache evicting");
    doStuff();
}
© www.soinside.com 2019 - 2024. All rights reserved.