我使用以下内容:
LoadingCache< String,Long> inQueueLoadingCache = CacheBuilder.newBuilder() .expireAfterWrite(120,TimeUnit.SECONDS) .removalListener(inQueueRemovalListener) .bui
简答:你不能改变驱逐超时值,或任何属性 Cache / LoadingCache 由...制作 CacheBuilder 。
Cache
LoadingCache
CacheBuilder
无论如何,你为什么要改变超时? (还要记住,Guava缓存很简单。)如果你确实想要更改超时,你有两个选择:
创建新的 Cache 具有目标语义和复制旧缓存内容,例如
LoadingCache<String, Long> newCache = CacheBuilder.newBuilder() .expireAfterWrite(60, TimeUnit.SECONDS) .removalListener(inQueueRemovalListener) .build(inQueueCacheLoader); newCache.putAll(inQueueLoadingCache.asMap());
但你会放松原始访问时间等。
AbstractLoadingCache