是否有针对咖啡因缓存的CacheEntryExpiredListener?

时间:2019-03-07 14:17:14

标签: java caching caffeine

我知道Cache2k的{​​{1}}仅在缓存条目自到期时才触发(当显式失效时不触发)。

CacheEntryExpiredListener

问题:我如何使用 Cache<String, Object> cache = Cache2kBuilder.of(String.class, Object.class) .addListener( (CacheEntryExpiredListener<String, Object>) (cache, entry) -> handleExpired(entry.getKey(), entry.getValue())) .expireAfterWrite(60, TimeUnit.SECONDS) .build(); 缓存实现?

1 个答案:

答案 0 :(得分:0)

感谢@Ben Manes的提示:

Caffeine.newBuilder()
        .removalListener((key, value, cause) -> {
            if (cause.wasEvicted()) System.out.printf("key=%s, value=%s", key, value);
        })
        .expireAfterWrite(60, TimeUnit.SECONDS)
        .build();