org.apache.cassandra.cache

## Class AutoSavingCache<K extends CacheKey,V>

- java.lang.Object
- - org.apache.cassandra.cache.InstrumentingCache<K,V>
  - - org.apache.cassandra.cache.AutoSavingCache<K,V>

-     public class AutoSavingCache<K extends CacheKey,V>
      extends InstrumentingCache<K,V>

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static interface` | `AutoSavingCache.CacheSerializer<K extends CacheKey,V>`
    `static interface` | `AutoSavingCache.IStreamFactory`
    `class` | `AutoSavingCache.Writer`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected CacheService.CacheType` | `cacheType`
    `static java.util.Set<CacheService.CacheType>` | `flushInProgress` True if a cache flush is currently executing: only one may execute at a time.
    `protected java.util.concurrent.ScheduledFuture<?>` | `saveTask`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AutoSavingCache(ICache<K,V> cache, CacheService.CacheType cacheType, AutoSavingCache.CacheSerializer<K,V> cacheloader)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.io.File` | `getCacheCrcPath(java.lang.String version)`
    `java.io.File` | `getCacheDataPath(java.lang.String version)`
    `AutoSavingCache.Writer` | `getWriter(int keysToSave)`
    `int` | `loadSaved()`
    `com.google.common.util.concurrent.ListenableFuture<java.lang.Integer>` | `loadSavedAsync()`
    `void` | `scheduleSaving(int savePeriodInSeconds, int keysToSave)`
    `static void` | `setStreamFactory(AutoSavingCache.IStreamFactory streamFactory)`
    `java.util.concurrent.Future<?>` | `submitWrite(int keysToSave)`

    - ### Methods inherited from class org.apache.cassandra.cache.InstrumentingCache

      `clear, containsKey, get, getCapacity, getInternal, getMetrics, hotKeyIterator, keyIterator, put, putIfAbsent, remove, replace, setCapacity, size, weightedSize`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### flushInProgress

          public static final java.util.Set<CacheService.CacheType> flushInProgress

      True if a cache flush is currently executing: only one may execute at a time.

    - #### saveTask

          protected volatile java.util.concurrent.ScheduledFuture<?> saveTask

    - #### cacheType

          protected final CacheService.CacheType cacheType

  - ### Constructor Detail

    - #### AutoSavingCache

          public AutoSavingCache(ICache<K,V> cache,
                                 CacheService.CacheType cacheType,
                                 AutoSavingCache.CacheSerializer<K,V> cacheloader)

  - ### Method Detail

    - #### setStreamFactory

          public static void setStreamFactory(AutoSavingCache.IStreamFactory streamFactory)

    - #### getCacheDataPath

          public java.io.File getCacheDataPath(java.lang.String version)

    - #### getCacheCrcPath

          public java.io.File getCacheCrcPath(java.lang.String version)

    - #### getWriter

          public AutoSavingCache.Writer getWriter(int keysToSave)

    - #### scheduleSaving

          public void scheduleSaving(int savePeriodInSeconds,
                                     int keysToSave)

    - #### loadSavedAsync

          public com.google.common.util.concurrent.ListenableFuture<java.lang.Integer> loadSavedAsync()

    - #### loadSaved

          public int loadSaved()

    - #### submitWrite

          public java.util.concurrent.Future<?> submitWrite(int keysToSave)

Copyright © 2018 The Apache Software Foundation