Class CaffeineCache<E>


  • public abstract class CaffeineCache<E>
    extends Object
    Underlying cache used to back the CaffeineDnsCache. Uses the Caffeine caching library as opposed to Netty's io.netty.resolver.dns.Cache implementation so that we can: 1) Limit the cache's size (and intelligently evict entries) 2) Expose cache stats
    Author:
    jwhite
    • Constructor Detail

      • CaffeineCache

        public CaffeineCache​(long maxSize)
    • Method Detail

      • shouldReplaceAll

        protected abstract boolean shouldReplaceAll​(E entry)
        Returns true if this entry should replace all other entries that are already cached for the hostname.
      • clear

        public void clear()
      • clear

        public void clear​(String key)
      • cache

        public void cache​(String key,
                          E entry,
                          int ttl)
      • size

        public long size()
      • stats

        public com.github.benmanes.caffeine.cache.stats.CacheStats stats()