Package 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 Description static interface
AutoSavingCache.CacheSerializer<K extends CacheKey,V>
static interface
AutoSavingCache.IStreamFactory
class
AutoSavingCache.Writer
-
Field Summary
Fields Modifier and Type Field 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 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 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
-
-
-
-
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)
-
-