Class PersistentRedisCache
- java.lang.Object
-
- org.apache.jackrabbit.oak.segment.spi.persistence.persistentcache.AbstractPersistentCache
-
- org.apache.jackrabbit.oak.segment.remote.persistentcache.PersistentRedisCache
-
- All Implemented Interfaces:
Closeable,AutoCloseable,PersistentCache
public class PersistentRedisCache extends AbstractPersistentCache
-
-
Field Summary
Fields Modifier and Type Field Description static intDEFAULT_REDIS_CACHE_EXPIRE_SECONDSstatic StringNAME-
Fields inherited from class org.apache.jackrabbit.oak.segment.spi.persistence.persistentcache.AbstractPersistentCache
cacheSize, executor, nextCache, segmentCacheStats, THREADS, writesPending
-
-
Constructor Summary
Constructors Constructor Description PersistentRedisCache(String redisHost, int redisPort, int redisExpireSeconds, int redisSocketTimeout, int redisConnectionTimeout, int redisMinConnections, int redisMaxConnections, int redisMaxTotalConnections, int redisDBIndex, IOMonitor redisCacheIOMonitor)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcleanUp()Purges the cache entries according to the implementation policy (e.g.booleancontainsSegment(long msb, long lsb)Check if the segment exists in the cache.protected BufferreadSegmentInternal(long msb, long lsb)Reads the segment from the cache.voidwriteSegment(long msb, long lsb, Buffer buffer)Writes the segment to the cache.-
Methods inherited from class org.apache.jackrabbit.oak.segment.spi.persistence.persistentcache.AbstractPersistentCache
close, getCacheStats, getWritesPending, linkWith, readSegment, recordCacheLoadTimeInternal
-
-
-
-
Field Detail
-
DEFAULT_REDIS_CACHE_EXPIRE_SECONDS
public static final int DEFAULT_REDIS_CACHE_EXPIRE_SECONDS
- See Also:
- Constant Field Values
-
NAME
public static final String NAME
- See Also:
- Constant Field Values
-
-
Method Detail
-
readSegmentInternal
protected Buffer readSegmentInternal(long msb, long lsb)
Description copied from class:AbstractPersistentCacheReads the segment from the cache. If segment is not found, this method does not query next cache that was set withAbstractPersistentCache.linkWith(AbstractPersistentCache)- Specified by:
readSegmentInternalin classAbstractPersistentCache- Parameters:
msb- the most significant bits of the identifier of the segmentlsb- the least significant bits of the identifier of the segment- Returns:
- byte buffer containing the segment data or null if the segment doesn't exist
-
containsSegment
public boolean containsSegment(long msb, long lsb)Description copied from interface:PersistentCacheCheck if the segment exists in the cache.- Parameters:
msb- the most significant bits of the identifier of the segmentlsb- the least significant bits of the identifier of the segment- Returns:
trueif the segment exists
-
writeSegment
public void writeSegment(long msb, long lsb, Buffer buffer)Description copied from interface:PersistentCacheWrites the segment to the cache.- Parameters:
msb- the most significant bits of the identifier of the segmentlsb- the least significant bits of the identifier of the segmentbuffer- the byte buffer containing the segment data
-
cleanUp
public void cleanUp()
Description copied from interface:PersistentCachePurges the cache entries according to the implementation policy (e.g. maximum cache size, maximum number of entries, etc.)
-
-