Class MemStatementIteratorCache
- java.lang.Object
-
- org.eclipse.rdf4j.sail.memory.model.MemStatementIteratorCache
-
public class MemStatementIteratorCache extends java.lang.Object
A 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 class
MemStatementIteratorCache.CachedIteration
-
Field Summary
Fields Modifier and Type Field Description int
CACHE_FREQUENCY_THRESHOLD
private com.google.common.cache.Cache<MemStatementIterator,java.util.List<MemStatement>>
iteratorCache
private java.util.concurrent.ConcurrentHashMap<MemStatementIterator,java.lang.Integer>
iteratorFrequencyMap
private static org.slf4j.Logger
logger
-
Constructor Summary
Constructors Constructor Description MemStatementIteratorCache(int cacheFrequencyThreshold)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) MemStatementIteratorCache.CachedIteration
getCachedIterator(MemStatementIterator iterator)
(package private) void
incrementIteratorFrequencyMap(MemStatementIterator iterator)
void
invalidateCache()
(package private) boolean
shouldBeCached(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)
-
-