Class ReadOnlyOptimizedCache<K,​V>

  • All Implemented Interfaces:
    Cache<K,​V>

    public final class ReadOnlyOptimizedCache<K,​V>
    extends Object
    implements Cache<K,​V>
    Specialized read-only cache implementation optimized for read-heavy workloads. Key optimizations: - Immutable data structures for maximum read performance - Lock-free read operations - Optimized memory layout for cache locality - Minimal synchronization overhead - Bulk loading operations
    • Constructor Detail

      • ReadOnlyOptimizedCache

        public ReadOnlyOptimizedCache​(CacheConfig<K,​V> config)
    • Method Detail

      • get

        public final V get​(K key)
        Description copied from interface: Cache
        Returns the value associated with the key in this cache, or null if there is no cached value for the key.
        Specified by:
        get in interface Cache<K,​V>
        Parameters:
        key - the key whose associated value is to be returned
        Returns:
        the value to which the specified key is mapped, or null if this cache contains no mapping for the key
      • put

        public final void put​(K key,
                              V value)
        Description copied from interface: Cache
        Associates the specified value with the specified key in this cache.
        Specified by:
        put in interface Cache<K,​V>
        Parameters:
        key - key with which the specified value is to be associated
        value - value to be associated with the specified key
      • remove

        public final V remove​(K key)
        Description copied from interface: Cache
        Removes the mapping for a key from this cache if it is present.
        Specified by:
        remove in interface Cache<K,​V>
        Parameters:
        key - key whose mapping is to be removed from the cache
        Returns:
        the previous value associated with key, or null if there was no mapping for key
      • clear

        public final void clear()
        Description copied from interface: Cache
        Removes all mappings from this cache.
        Specified by:
        clear in interface Cache<K,​V>
      • size

        public final long size()
        Description copied from interface: Cache
        Returns the approximate number of entries in this cache.
        Specified by:
        size in interface Cache<K,​V>
        Returns:
        the number of entries in this cache
      • containsKey

        public final boolean containsKey​(K key)
        Description copied from interface: Cache
        Returns true if this cache contains a mapping for the specified key.
        Specified by:
        containsKey in interface Cache<K,​V>
        Parameters:
        key - key whose presence in this cache is to be tested
        Returns:
        true if this cache contains a mapping for the specified key
      • stats

        public final CacheStats stats()
        Description copied from interface: Cache
        Returns the cache statistics.
        Specified by:
        stats in interface Cache<K,​V>
        Returns:
        the cache statistics
      • config

        public final CacheConfig<K,​V> config()
        Description copied from interface: Cache
        Returns the cache configuration.
        Specified by:
        config in interface Cache<K,​V>
        Returns:
        the cache configuration
      • keys

        public final Set<K> keys()
        Description copied from interface: Cache
        Returns a view of all the keys in this cache.
        Specified by:
        keys in interface Cache<K,​V>
        Returns:
        a set view of the keys contained in this cache
      • values

        public final Collection<V> values()
        Description copied from interface: Cache
        Returns a view of all the values in this cache.
        Specified by:
        values in interface Cache<K,​V>
        Returns:
        a collection view of the values contained in this cache
      • entries

        public final Set<Map.Entry<K,​V>> entries()
        Description copied from interface: Cache
        Returns a view of all the key-value pairs in this cache.
        Specified by:
        entries in interface Cache<K,​V>
        Returns:
        a set view of the mappings contained in this cache
      • getAsync

        public final CompletableFuture<V> getAsync​(K key)
        Description copied from interface: Cache
        Asynchronously returns the value associated with the key in this cache.
        Specified by:
        getAsync in interface Cache<K,​V>
        Parameters:
        key - the key whose associated value is to be returned
        Returns:
        a CompletableFuture that will be completed with the value to which the specified key is mapped, or null if this cache contains no mapping for the key
      • putAsync

        public final CompletableFuture<Void> putAsync​(K key,
                                                      V value)
        Description copied from interface: Cache
        Asynchronously associates the specified value with the specified key in this cache.
        Specified by:
        putAsync in interface Cache<K,​V>
        Parameters:
        key - key with which the specified value is to be associated
        value - value to be associated with the specified key
        Returns:
        a CompletableFuture that will be completed when the operation is done
      • removeAsync

        public final CompletableFuture<V> removeAsync​(K key)
        Description copied from interface: Cache
        Asynchronously removes the mapping for a key from this cache if it is present.
        Specified by:
        removeAsync in interface Cache<K,​V>
        Parameters:
        key - key whose mapping is to be removed from the cache
        Returns:
        a CompletableFuture that will be completed with the previous value associated with key, or null if there was no mapping for key
      • clearAsync

        public final CompletableFuture<Void> clearAsync()
        Description copied from interface: Cache
        Asynchronously removes all mappings from this cache.
        Specified by:
        clearAsync in interface Cache<K,​V>
        Returns:
        a CompletableFuture that will be completed when the operation is done
      • enableReadOnlyMode

        public final void enableReadOnlyMode()
        Enable read-only mode for maximum read performance. No modifications will be allowed after this call.
      • bulkLoad

        public final void bulkLoad​(Map<K,​V> dataMap)
        Bulk load data for optimal read performance. This is more efficient than individual put operations.
      • warmUp

        public final void warmUp​(Set<K> frequentKeys)
        Warm up the cache by pre-loading frequently accessed data.