AutoSavingCache (apache-cassandra API)
Date: 2014-10-21

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

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.io.File` | `getCachePath(java.lang.String ksName, java.lang.String cfName, java.util.UUID cfId, java.lang.String version)` Deprecated.
    `java.io.File` | `getCachePath(java.util.UUID cfId, java.lang.String version)`
    `AutoSavingCache.Writer` | `getWriter(int keysToSave)`
    `int` | `loadSaved(ColumnFamilyStore cfs)`
    `void` | `scheduleSaving(int savePeriodInSeconds, int keysToSave)`
    `java.util.concurrent.Future<?>` | `submitWrite(int keysToSave)`

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

      `clear, containsKey, get, getCapacity, getInternal, getKeySet, getMetrics, hotKeySet, isCapacitySetManually, put, putIfAbsent, remove, replace, setCapacity, size, updateCapacity, 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

    - #### getCachePath

          @Deprecated
          public java.io.File getCachePath(java.lang.String ksName,
                                             java.lang.String cfName,
                                             java.util.UUID cfId,
                                             java.lang.String version)

      Deprecated.

    - #### getCachePath

          public java.io.File getCachePath(java.util.UUID cfId,
                                  java.lang.String version)

    - #### getWriter

          public AutoSavingCache.Writer getWriter(int keysToSave)

    - #### scheduleSaving

          public void scheduleSaving(int savePeriodInSeconds,
                            int keysToSave)

    - #### loadSaved

          public int loadSaved(ColumnFamilyStore cfs)

    - #### submitWrite

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

Copyright © 2014 The Apache Software Foundation