我正在使用它来创建我的缓存:
Cache<Long, Info> cache = newBuilder()
.expireAfterWrite(getCacheMaxNbDays(), DAYS)
.maximumSize(getCacheMaxSize())
.build();
我想知道当我调用 cache.asMap() 并且正在执行一些条目驱逐时会发生什么。cache.asMap() 将等到驱逐操作完成,或者它只返回那些没有执行驱逐的条目?
我的第二个问题是:expireAfterWrite 是阻塞操作吗?换句话说,当对相同条目的读、写和逐出操作(expireAfterWrite、expireAfterAccess 等)之间存在并发时,咖啡因是如何工作的?