首页 文章

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

提问于
浏览
0

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

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

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

谢谢,Srikanth .

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();
    }
    

相关问题