Class LocalCachedMapOptions<K,​V>

  • Type Parameters:
    K - key type
    V - value type

    public class LocalCachedMapOptions<K,​V>
    extends MapOptions<K,​V>
    Configuration for LocalCachedMap object.
    Author:
    Nikita Koksharov
    • Constructor Detail

      • LocalCachedMapOptions

        protected LocalCachedMapOptions()
    • Method Detail

      • defaults

        public static <K,​V> LocalCachedMapOptions<K,​V> defaults()
        Creates a new instance of LocalCachedMapOptions with default options.

        This is equivalent to:

             new LocalCachedMapOptions()
              .cacheSize(0).timeToLive(0).maxIdle(0)
              .evictionPolicy(EvictionPolicy.NONE)
              .invalidateEntryOnChange(true);
         
        Type Parameters:
        K - key type
        V - value type
        Returns:
        LocalCachedMapOptions instance
      • getCacheSize

        public int getCacheSize()
      • getTimeToLiveInMillis

        public long getTimeToLiveInMillis()
      • getMaxIdleInMillis

        public long getMaxIdleInMillis()
      • cacheSize

        public LocalCachedMapOptions<K,​V> cacheSize​(int cacheSize)
        Sets cache size. If size is 0 then local cache is unbounded.
        Parameters:
        cacheSize - - size of cache
        Returns:
        LocalCachedMapOptions instance
      • evictionPolicy

        public LocalCachedMapOptions<K,​V> evictionPolicy​(LocalCachedMapOptions.EvictionPolicy evictionPolicy)
        Sets eviction policy.
        Parameters:
        evictionPolicy -

        LRU - uses cache with LRU (least recently used) eviction policy.

        LFU - uses cache with LFU (least frequently used) eviction policy.

        SOFT - uses cache with soft references. The garbage collector will evict items from the cache when the JVM is running out of memory.

        NONE - doesn't use eviction policy, but timeToLive and maxIdleTime params are still working.

        Returns:
        LocalCachedMapOptions instance
      • timeToLive

        public LocalCachedMapOptions<K,​V> timeToLive​(long timeToLiveInMillis)
        Sets time to live in milliseconds for each map entry in cache. If value equals to 0 then timeout is not applied
        Parameters:
        timeToLiveInMillis - - time to live in milliseconds
        Returns:
        LocalCachedMapOptions instance
      • timeToLive

        public LocalCachedMapOptions<K,​V> timeToLive​(long timeToLive,
                                                           TimeUnit timeUnit)
        Sets time to live for each map entry in cache. If value equals to 0 then timeout is not applied
        Parameters:
        timeToLive - - time to live
        timeUnit - - time unit
        Returns:
        LocalCachedMapOptions instance
      • maxIdle

        public LocalCachedMapOptions<K,​V> maxIdle​(long maxIdleInMillis)
        Sets max idle time in milliseconds for each map entry in cache. If value equals to 0 then timeout is not applied
        Parameters:
        maxIdleInMillis - - time to live in milliseconds
        Returns:
        LocalCachedMapOptions instance
      • maxIdle

        public LocalCachedMapOptions<K,​V> maxIdle​(long maxIdle,
                                                        TimeUnit timeUnit)
        Sets max idle time for each map entry in cache. If value equals to 0 then timeout is not applied
        Parameters:
        maxIdle - - max idle time
        timeUnit - - time unit
        Returns:
        LocalCachedMapOptions instance
      • writeBehindThreads

        public LocalCachedMapOptions<K,​V> writeBehindThreads​(int writeBehindThreads)
        Description copied from class: MapOptions
        Sets threads amount used in write behind mode.

        Default is 1

        Overrides:
        writeBehindThreads in class MapOptions<K,​V>
        Parameters:
        writeBehindThreads - - threads amount
        Returns:
        MapOptions instance