Class EvictableCacheBuilder<K,V>

java.lang.Object
io.trino.cache.EvictableCacheBuilder<K,V>

public final class EvictableCacheBuilder<K,V> extends Object
Builder for Cache and LoadingCache instances, similar to CacheBuilder, but creating cache implementations that do not exhibit Guava issue #1881: a cache inspection with Cache.getIfPresent(Object) or Cache.get(Object, Callable) is guaranteed to return fresh state after Cache.invalidate(Object), Cache.invalidateAll(Iterable) or Cache.invalidateAll() were called.
  • Method Details

    • newBuilder

      @CheckReturnValue public static EvictableCacheBuilder<Object,Object> newBuilder()
    • ticker

      @CanIgnoreReturnValue public EvictableCacheBuilder<K,V> ticker(com.google.common.base.Ticker ticker)
      Pass-through for CacheBuilder.ticker(Ticker).
    • expireAfterWrite

      @CanIgnoreReturnValue public EvictableCacheBuilder<K,V> expireAfterWrite(long duration, TimeUnit unit)
    • expireAfterWrite

      @CanIgnoreReturnValue public EvictableCacheBuilder<K,V> expireAfterWrite(Duration duration)
    • refreshAfterWrite

      @CanIgnoreReturnValue public EvictableCacheBuilder<K,V> refreshAfterWrite(long duration, TimeUnit unit)
    • refreshAfterWrite

      @CanIgnoreReturnValue public EvictableCacheBuilder<K,V> refreshAfterWrite(Duration duration)
    • maximumSize

      @CanIgnoreReturnValue public EvictableCacheBuilder<K,V> maximumSize(long maximumSize)
    • maximumWeight

      @CanIgnoreReturnValue public EvictableCacheBuilder<K,V> maximumWeight(long maximumWeight)
    • concurrencyLevel

      @CanIgnoreReturnValue public EvictableCacheBuilder<K,V> concurrencyLevel(int concurrencyLevel)
    • weigher

      public <K1 extends K, V1 extends V> EvictableCacheBuilder<K1,V1> weigher(com.google.common.cache.Weigher<? super K1,? super V1> weigher)
    • recordStats

      @CanIgnoreReturnValue public EvictableCacheBuilder<K,V> recordStats()
    • shareResultsAndFailuresEvenIfDisabled

      @CanIgnoreReturnValue public EvictableCacheBuilder<K,V> shareResultsAndFailuresEvenIfDisabled()
      Choose a behavior for case when caching is disabled that may allow data and failure sharing between concurrent callers.
    • shareNothingWhenDisabled

      @CanIgnoreReturnValue public EvictableCacheBuilder<K,V> shareNothingWhenDisabled()
      Choose a behavior for case when caching is disabled that prevents data and failure sharing between concurrent callers. Note: disabled cache won't report any statistics.
    • build

      @CheckReturnValue public <K1 extends K, V1 extends V> com.google.common.cache.Cache<K1,V1> build()
    • build

      @CheckReturnValue public <K1 extends K, V1 extends V> com.google.common.cache.LoadingCache<K1,V1> build(com.google.common.cache.CacheLoader<? super K1,V1> loader)