Я использую Guava CacheBuilder и обычно я могу просрочить свои записи после последнего чтения или последней записи:
LoadingCache<String, CacheObject> myCache = CacheBuilder.newBuilder()
.expireAfterWrite(10, TimeUnit.MINUTES)
.build(
new CacheLoader<String, CacheObject>() {
public CacheObject load(String cacheKey) {
return ...
}
});
Но мне нужно закончить свои записи после первой записи. Это означает, что если позже я перезапишу эту запись с новым значением:
myCache.put(existingCacheKey, newCacheObject);
Тем не менее, я хочу закончить запись, основанную на первой записи.
Похоже, CacheBuilder не поддерживает его по умолчанию. Мне интересно, есть ли способ заставить его истечь первой записью.