Class MemStatementIteratorCache
- java.lang.Object
-
- org.eclipse.rdf4j.sail.memory.model.MemStatementIteratorCache
-
public class MemStatementIteratorCache extends java.lang.ObjectA cache for MemStatementIterator that tracks how frequently an iterator is used and caches the iterator as a list
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classMemStatementIteratorCache.CachedIteration
-
Field Summary
Fields Modifier and Type Field Description intCACHE_FREQUENCY_THRESHOLDprivate com.google.common.cache.Cache<MemStatementIterator,java.util.List<MemStatement>>iteratorCacheprivate java.util.concurrent.ConcurrentHashMap<MemStatementIterator,java.lang.Integer>iteratorFrequencyMapprivate static org.slf4j.Loggerlogger
-
Constructor Summary
Constructors Constructor Description MemStatementIteratorCache(int cacheFrequencyThreshold)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) MemStatementIteratorCache.CachedIterationgetCachedIterator(MemStatementIterator iterator)(package private) voidincrementIteratorFrequencyMap(MemStatementIterator iterator)voidinvalidateCache()(package private) booleanshouldBeCached(MemStatementIterator iterator)
-
-
-
Field Detail
-
logger
private static final org.slf4j.Logger logger
-
CACHE_FREQUENCY_THRESHOLD
public final int CACHE_FREQUENCY_THRESHOLD
-
iteratorFrequencyMap
private final java.util.concurrent.ConcurrentHashMap<MemStatementIterator,java.lang.Integer> iteratorFrequencyMap
-
iteratorCache
private final com.google.common.cache.Cache<MemStatementIterator,java.util.List<MemStatement>> iteratorCache
-
-
Method Detail
-
invalidateCache
public void invalidateCache()
-
incrementIteratorFrequencyMap
void incrementIteratorFrequencyMap(MemStatementIterator iterator)
-
shouldBeCached
boolean shouldBeCached(MemStatementIterator iterator)
-
getCachedIterator
MemStatementIteratorCache.CachedIteration getCachedIterator(MemStatementIterator iterator)
-
-