番石榴缓存第一次写入后过期

时间:2019-01-17 14:24:29

标签: java 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默认不支持它。我想知道是否有一种方法可以使它在第一次写入时过期。

0 个答案:

没有答案