Class ConcurrentOffHeapClockCache<K,V>

Type Parameters:
K - the type of keys maintained by this cache
V - the type of mapped values
All Implemented Interfaces:
ConcurrentMap<K,V>, Map<K,V>, ConcurrentMapInternals, HashingMap<K,V>, MapInternals, PinnableCache<K,V>

public class ConcurrentOffHeapClockCache<K,V> extends AbstractConcurrentOffHeapCache<K,V>
A striped concurrent-read/exclusive-write clock cache.

This implementation uses instances of ReadWriteLockedOffHeapClockCache for its segments.

See Also:
  • Constructor Details

    • ConcurrentOffHeapClockCache

      public ConcurrentOffHeapClockCache(Factory<? extends AbstractOffHeapClockCache<K,V>> segmentFactory, int concurrency)
      Creates a cache using the given table buffer source and storage engine factory.
      Parameters:
      segmentFactory - the factory to use to build segments
      concurrency - the number of segments to use
    • ConcurrentOffHeapClockCache

      public ConcurrentOffHeapClockCache(PageSource tableSource, Factory<? extends StorageEngine<? super K, ? super V>> storageEngineFactory)
      Creates a cache using the given table buffer source and storage engine factory.
      Parameters:
      tableSource - buffer source from which hash tables are allocated
      storageEngineFactory - factory for the segment storage engines
    • ConcurrentOffHeapClockCache

      public ConcurrentOffHeapClockCache(PageSource tableSource, Factory<? extends StorageEngine<? super K, ? super V>> storageEngineFactory, EvictionListener<K,V> evictionListener)
      Creates a cache using the given table buffer source and storage engine factory.
      Parameters:
      tableSource - buffer source from which hash tables are allocated
      storageEngineFactory - factory for the segment storage engines
      evictionListener - listener notified on evictions
    • ConcurrentOffHeapClockCache

      public ConcurrentOffHeapClockCache(PageSource tableSource, Factory<? extends StorageEngine<? super K, ? super V>> storageEngineFactory, long tableSize, int concurrency)
      Creates a cache using the given table buffer source, storage engine factory, initial table size, and concurrency.
      Parameters:
      tableSource - buffer source from which hash tables are allocated
      storageEngineFactory - factory for the segment storage engines
      tableSize - initial table size (summed across all segments)
      concurrency - number of segments
    • ConcurrentOffHeapClockCache

      public ConcurrentOffHeapClockCache(PageSource tableSource, Factory<? extends StorageEngine<? super K, ? super V>> storageEngineFactory, EvictionListener<K,V> evictionListener, long tableSize, int concurrency)
      Creates a cache using the given table buffer source, storage engine factory, initial table size, and concurrency.
      Parameters:
      tableSource - buffer source from which hash tables are allocated
      storageEngineFactory - factory for the segment storage engines
      evictionListener - listener notified on evictions
      tableSize - initial table size (summed across all segments)
      concurrency - number of segments