我们正在使用@Cacheable和@CacheEvict来实现缓存。
问题是,构建缓存需要3分钟以上。根据应用程序逻辑,首先清除缓存,然后创建缓存。在此期间,如果有任何用户访问我们的应用程序,应用程序将无法发送数据,因为缓存仍在构建中。
是否有任何spring方法可以首先构建缓存,然后用新缓存替换旧缓存(除了@CachePut之外)。
谢谢,斯里坎特。
为什么不在@Cachevict中调用用@Cacheable表示的方法。因为在清除缓存后,您的@Cacheabe方法会被调用并在该时间间隔内加载数据?。但是这对于内存缓存来说不是一个好的做法,因为缓存应该基于请求。
@Cacheable(cacheNames = "***", key = "#CACHE_KEY")
public void doStuff(){
}
@Schedule(cron = "${your time}")
@Cachevict
public void clearCache(){
log("Cache evicting");
doStuff();
}
我想问一个关于spring缓存注释和存储库创建的问题。 我正在尝试使用Spring Boot在redis中缓存我的值。(我有一个值,如果它不在缓存里,我需要缓存它,如果它在缓存里,我需要从那里获取它) null 我的问题是:如果我使用了上面的注释(@Cacheable、@CachePut和@CacheEvict),我是否应该通过扩展CrudRepository来为我感兴趣存储的类对象创建一个存储库
我们刚刚开始使用AWS,并要求使用AWS ElasticCache和带有Spring的Redis绝地。Spring数据redis 1.8.8。发布aws java sdk 1.11.228 Spring 4.2.9。释放绝地武士2.9.0 我能够连接和缓存数据到本地redis与下面的代码。我尝试过https://github.com/fishercoder1534/AmazonElastiCach
我一直在研究Redis(完全没有经验,只是研究了理论),在做了一些研究之后,发现它也被用作缓存。例如StackOverfolow it self。 有什么好处吗? 我试图直接浏览这个答案redis-cache-vs-using-memory-,但我想我没有得到答案中的关键行: “基本上,如果您需要您的应用程序在共享相同数据的几个节点上进行扩展,那么将需要类似Redis(或任何其他远程键/值存储)的
我刚刚更新了我的作曲家后运行我的项目它显示错误boostrap.cache文件我目前在Windows上使用Netbean。 试图从命名空间“Symfony\Component\ClassLoader”加载类“ClassCollectionLoader”。您是否忘记了另一个名称空间的“use”语句? 我试过命令: 这给了我一个错误: 无法打开输入文件:bin/build\u引导。php 清除缓存会给
我正在使用注释来缓存我的方法的结果。出于性能原因,我想缓存从方法返回的和非null值。 但是这里的问题是Spring缓存非空值,但由于某种原因没有缓存空值。 这是我的密码: 我什么都试过了。就连我 但这也没什么帮助。有关于这个的指示吗?
我使用Spring缓存抽象,定义了多个缓存。有时,当数据更改时,我想逐出多个缓存。是否可以使用Spring的CacheExit注释逐出多个缓存?