gpt4 book ai didi

java - 设计具有可变条目到期时间的 Guava LoadingCache

转载 作者:IT老高 更新时间:2023-10-28 21:14:41 25 4
gpt4 key购买 nike

我在我的项目中使用 Guava 的 LoadingCache 来处理线程{安全、友好}的缓存加载,它工作得非常好。但是,有一个限制。

当前定义缓存的代码如下所示:

cache = CacheBuilder.newBuilder().maximumSize(100L).build(new CacheLoader<K, V>()
{
// load() method implemented here
}

我没有指定到期时间。

问题是根据键的值,一些关联的值可能会过期,而另一些可能不会。而 CacheLoader 没有考虑到这一点,如果你指定一个过期时间,它是针对每一个条目的。

你会如何解决这个问题?

最佳答案

另一种选择是我的ExpiringMap (我是作者),支持变量条目过期:

Map<String, String> map = ExpiringMap.builder().variableExpiration().build();
map.put("foo", "bar", ExpirationPolicy.ACCESSED, 5, TimeUnit.MINUTES);
map.put("baz", "pez", ExpirationPolicy.CREATED, 10, TimeUnit.MINUTES);

关于java - 设计具有可变条目到期时间的 Guava LoadingCache,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13979376/

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