【发布时间】:2014-09-24 21:31:06
【问题描述】:
private Cache<Long, Response> responseCache = CacheBuilder.newBuilder()
.maximumSize(10000)
.expireAfterWrite(10, TimeUnit.MINUTES)
.build();
我预计未在 10 分钟内发送到客户端的响应对象会自动过期并从缓存中删除,但我注意到即使在 10、15、20 分钟后,响应对象也不总是过期。当缓存被大量填充时,它们确实会过期,但是当系统空闲时,比如最后 500 个响应对象,它会停止删除这些对象。 有人可以帮助理解这种行为吗?谢谢
【问题讨论】: