Class UltraFastCache<K,​V>

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

    public final class UltraFastCache<K,​V>
    extends Object
    implements Cache<K,​V>
    Ultra-fast cache implementation optimized for maximum throughput. Key optimizations: - Minimal hot path overhead - Lock-free operations where possible - Efficient eviction with O(1) operations - Reduced object allocation - Optimized for CPU cache efficiency
    • Constructor Detail

      • UltraFastCache

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

      • get

        public V get​(K key)
        Ultra-fast get operation with minimal overhead.
        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 void put​(K key,
                        V value)
        Ultra-fast put operation with efficient eviction.
        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 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 void clear()
        Description copied from interface: Cache
        Removes all mappings from this cache.
        Specified by:
        clear in interface Cache<K,​V>
      • size

        public 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 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
      • keys

        public 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 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 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
      • stats

        public 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 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
      • getAsync

        public 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 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 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 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