Class LocalCachedMapOptions<K,V>
- java.lang.Object
-
- org.redisson.api.MapOptions<K,V>
-
- org.redisson.api.LocalCachedMapOptions<K,V>
-
- Type Parameters:
K
- key typeV
- value type
public class LocalCachedMapOptions<K,V> extends MapOptions<K,V>
Configuration for LocalCachedMap object.- Author:
- Nikita Koksharov
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
LocalCachedMapOptions.CacheProvider
static class
LocalCachedMapOptions.EvictionPolicy
static class
LocalCachedMapOptions.ReconnectionStrategy
Various strategies to avoid stale objects in local cache.static class
LocalCachedMapOptions.StoreMode
static class
LocalCachedMapOptions.SyncStrategy
-
Nested classes/interfaces inherited from class org.redisson.api.MapOptions
MapOptions.WriteMode
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
LocalCachedMapOptions()
protected
LocalCachedMapOptions(LocalCachedMapOptions<K,V> copy)
-
Method Summary
-
Methods inherited from class org.redisson.api.MapOptions
getLoader, getWriteBehindBatchSize, getWriteBehindDelay, getWriteMode, getWriter
-
-
-
-
Constructor Detail
-
LocalCachedMapOptions
protected LocalCachedMapOptions()
-
LocalCachedMapOptions
protected LocalCachedMapOptions(LocalCachedMapOptions<K,V> copy)
-
-
Method Detail
-
defaults
public static <K,V> LocalCachedMapOptions<K,V> defaults()
Creates a new instance of LocalCachedMapOptions with default options.This is equivalent to:
new LocalCachedMapOptions() .cacheSize(0).timeToLive(0).maxIdle(0) .evictionPolicy(EvictionPolicy.NONE) .reconnectionStrategy(ReconnectionStrategy.NONE) .cacheProvider(CacheProvider.REDISSON) .syncStrategy(SyncStrategy.INVALIDATE) .storeCacheMiss(false);
- Type Parameters:
K
- key typeV
- value type- Returns:
- LocalCachedMapOptions instance
-
getCacheProvider
public LocalCachedMapOptions.CacheProvider getCacheProvider()
-
getEvictionPolicy
public LocalCachedMapOptions.EvictionPolicy getEvictionPolicy()
-
getCacheSize
public int getCacheSize()
-
getTimeToLiveInMillis
public long getTimeToLiveInMillis()
-
getMaxIdleInMillis
public long getMaxIdleInMillis()
-
cacheSize
public LocalCachedMapOptions<K,V> cacheSize(int cacheSize)
Defines local cache size. If size is0
then local cache is unbounded.- Parameters:
cacheSize
- - size of cache- Returns:
- LocalCachedMapOptions instance
-
getReconnectionStrategy
public LocalCachedMapOptions.ReconnectionStrategy getReconnectionStrategy()
-
getSyncStrategy
public LocalCachedMapOptions.SyncStrategy getSyncStrategy()
-
reconnectionStrategy
public LocalCachedMapOptions<K,V> reconnectionStrategy(LocalCachedMapOptions.ReconnectionStrategy reconnectionStrategy)
-
syncStrategy
public LocalCachedMapOptions<K,V> syncStrategy(LocalCachedMapOptions.SyncStrategy syncStrategy)
-
evictionPolicy
public LocalCachedMapOptions<K,V> evictionPolicy(LocalCachedMapOptions.EvictionPolicy evictionPolicy)
Defines local cache eviction policy.- Parameters:
evictionPolicy
-LRU
- uses local cache with LRU (least recently used) eviction policy.LFU
- uses local cache with LFU (least frequently used) eviction policy.SOFT
- uses local cache with soft references. The garbage collector will evict items from the local cache when the JVM is running out of memory.WEAK
- uses local cache with weak references. The garbage collector will evict items from the local cache when it became weakly reachable.NONE
- doesn't use eviction policy, but timeToLive and maxIdleTime params are still working.- Returns:
- LocalCachedMapOptions instance
-
timeToLive
public LocalCachedMapOptions<K,V> timeToLive(long timeToLiveInMillis)
Defines time to live in milliseconds of each map entry in local cache. If value equals to0
then timeout is not applied- Parameters:
timeToLiveInMillis
- - time to live in milliseconds- Returns:
- LocalCachedMapOptions instance
-
timeToLive
public LocalCachedMapOptions<K,V> timeToLive(long timeToLive, TimeUnit timeUnit)
Defines time to live of each map entry in local cache. If value equals to0
then timeout is not applied- Parameters:
timeToLive
- - time to livetimeUnit
- - time unit- Returns:
- LocalCachedMapOptions instance
-
maxIdle
public LocalCachedMapOptions<K,V> maxIdle(long maxIdleInMillis)
Defines max idle time in milliseconds of each map entry in local cache. If value equals to0
then timeout is not applied- Parameters:
maxIdleInMillis
- - time to live in milliseconds- Returns:
- LocalCachedMapOptions instance
-
maxIdle
public LocalCachedMapOptions<K,V> maxIdle(long maxIdle, TimeUnit timeUnit)
Defines max idle time of each map entry in local cache. If value equals to0
then timeout is not applied- Parameters:
maxIdle
- - max idle timetimeUnit
- - time unit- Returns:
- LocalCachedMapOptions instance
-
getStoreMode
public LocalCachedMapOptions.StoreMode getStoreMode()
-
storeMode
public LocalCachedMapOptions<K,V> storeMode(LocalCachedMapOptions.StoreMode storeMode)
Defines store mode of cache data.- Parameters:
storeMode
-LOCALCACHE
- store data in local cache only.LOCALCACHE_REDIS
- store data in both Redis and local cache.- Returns:
- LocalCachedMapOptions instance
-
cacheProvider
public LocalCachedMapOptions<K,V> cacheProvider(LocalCachedMapOptions.CacheProvider cacheProvider)
Defines Cache provider used as local cache store.- Parameters:
cacheProvider
-REDISSON
- uses Redisson own implementation.CAFFEINE
- uses Caffeine implementation.- Returns:
- LocalCachedMapOptions instance
-
isStoreCacheMiss
public boolean isStoreCacheMiss()
-
storeCacheMiss
public LocalCachedMapOptions<K,V> storeCacheMiss(boolean storeCacheMiss)
Defines whether to store a cache miss into the local cache.- Parameters:
storeCacheMiss
- - whether to store a cache miss into the local cache- Returns:
- LocalCachedMapOptions instance
-
writeBehindBatchSize
public LocalCachedMapOptions<K,V> writeBehindBatchSize(int writeBehindBatchSize)
Description copied from class:MapOptions
Sets write behind tasks batch size. During MapWriter methods execution all updates accumulated into a batch of specified size.Default is
50
- Overrides:
writeBehindBatchSize
in classMapOptions<K,V>
- Parameters:
writeBehindBatchSize
- - size of batch- Returns:
- MapOptions instance
-
writeBehindDelay
public LocalCachedMapOptions<K,V> writeBehindDelay(int writeBehindDelay)
Description copied from class:MapOptions
Sets write behind tasks execution delay. All updates would be applied with lag not more than specified delay.Default is
1000
milliseconds- Overrides:
writeBehindDelay
in classMapOptions<K,V>
- Parameters:
writeBehindDelay
- - delay in milliseconds- Returns:
- MapOptions instance
-
writer
public LocalCachedMapOptions<K,V> writer(MapWriter<K,V> writer)
Description copied from class:MapOptions
SetsMapWriter
object.- Overrides:
writer
in classMapOptions<K,V>
- Parameters:
writer
- object- Returns:
- MapOptions instance
-
writeMode
public LocalCachedMapOptions<K,V> writeMode(MapOptions.WriteMode writeMode)
Description copied from class:MapOptions
Sets write mode.Default is
MapOptions.WriteMode.WRITE_THROUGH
- Overrides:
writeMode
in classMapOptions<K,V>
- Parameters:
writeMode
- - write mode- Returns:
- MapOptions instance
-
loader
public LocalCachedMapOptions<K,V> loader(MapLoader<K,V> loader)
Description copied from class:MapOptions
SetsMapLoader
object.- Overrides:
loader
in classMapOptions<K,V>
- Parameters:
loader
- object- Returns:
- MapOptions instance
-
-