gpt4 book ai didi

java - 如何使 Spring 缓存中的条目每小时失效?

转载 作者:行者123 更新时间:2023-11-30 06:28:53 26 4
gpt4 key购买 nike

我们使用 Spring 缓存来缓存一些元素。因此,每当用户请求相同的元素键时,它就会去缓存并检查它是否可用。如果可用,则从缓存中获取,否则执行该方法。但在此之前,我想在我的缓存中再实现一项功能。

要求:我的 spring 缓存将每小时检查一次,如果缓存中的任何元素存在超过一个小时,它将删除它。

我在谷歌上搜索但没有找到满意的链接。有人可以帮助我或为我提供相同的链接吗?

最佳答案

您需要设置缓存的生存时间 (TTL)。您如何执行此操作取决于您的现金提供商。可以在这里找到几个示例:

Can I set a TTL for @Cacheable

@EnableCaching
@Configuration
public class CacheConfiguration implements CachingConfigurer {

@Override
public CacheManager cacheManager() {
ConcurrentMapCacheManager cacheManager = new ConcurrentMapCacheManager() {

@Override
protected Cache createConcurrentMapCache(final String name) {
return new ConcurrentMapCache(name,
CacheBuilder.newBuilder().expireAfterWrite(30, TimeUnit.MINUTES).maximumSize(100).build().asMap(), false);
}
};

return cacheManager;
}

@Override
public KeyGenerator keyGenerator() {
return new DefaultKeyGenerator();
}

}

关于java - 如何使 Spring 缓存中的条目每小时失效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46529305/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com