Package org.redisson.transaction
Class RedissonTransactionalLocalCachedMap<K,V>
- java.lang.Object
-
- org.redisson.RedissonObject
-
- org.redisson.RedissonMap<K,V>
-
- org.redisson.transaction.RedissonTransactionalMap<K,V>
-
- org.redisson.transaction.RedissonTransactionalLocalCachedMap<K,V>
-
- Type Parameters:
K
- key typeV
- value type
- All Implemented Interfaces:
ConcurrentMap<K,V>
,Map<K,V>
,RDestroyable
,RExpirable
,RExpirableAsync
,RLocalCachedMap<K,V>
,RMap<K,V>
,RMapAsync<K,V>
,RObject
,RObjectAsync
public class RedissonTransactionalLocalCachedMap<K,V> extends RedissonTransactionalMap<K,V> implements RLocalCachedMap<K,V>
- Author:
- Nikita Koksharov
-
-
Field Summary
-
Fields inherited from class org.redisson.RedissonObject
codec, commandExecutor, name
-
-
Constructor Summary
Constructors Constructor Description RedissonTransactionalLocalCachedMap(CommandAsyncExecutor commandExecutor, List<TransactionalOperation> operations, long timeout, AtomicBoolean executed, RLocalCachedMap<K,V> innerMap, String transactionId)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Set<Map.Entry<K,V>>
cachedEntrySet()
Returns all map entries stored in local cacheSet<K>
cachedKeySet()
Returns all keys stored in local cacheCollection<V>
cachedValues()
Returns all values stored in local cacheboolean
clearExpire()
Clear an expire timeout or expire date for object.protected RFuture<Boolean>
clearExpireAsync(String... keys)
void
clearLocalCache()
Clears local cache across all instancesRFuture<Void>
clearLocalCacheAsync()
Clears local cache across all instancesvoid
destroy()
Destroys object when it's not necessary anymore.boolean
expire(long timeToLive, TimeUnit timeUnit)
Set a timeout for object.boolean
expire(Instant instant)
Set an expire date for object.protected RFuture<Boolean>
expireAsync(long timeToLive, TimeUnit timeUnit, String... keys)
boolean
expireAt(long timestamp)
UseRExpirable.expire(Instant)
insteadboolean
expireAt(Date timestamp)
UseRExpirable.expire(Instant)
insteadprotected RFuture<Boolean>
expireAtAsync(long timestamp, String... keys)
Map<K,V>
getCachedMap()
Returns state of local cachevoid
preloadCache()
Pre-warm the cached entries.void
preloadCache(int count)
Pre-warm the cached entries.long
remainTimeToLive()
Remaining time to live of Redisson object that has a timeoutRFuture<Long>
remainTimeToLiveAsync()
Remaining time to live of Redisson object that has a timeout-
Methods inherited from class org.redisson.transaction.RedissonTransactionalMap
addAndGetOperationAsync, checkState, clearExpireAsync, containsKeyAsync, containsValueAsync, deleteAsync, expireAsync, expireAsync, expireAtAsync, expireAtAsync, fastPutIfAbsentOperationAsync, fastPutIfExistsOperationAsync, fastPutOperationAsync, fastRemoveOperationAsync, getAllOperationAsync, getCountDownLatch, getFairLock, getLock, getOperationAsync, getPermitExpirableSemaphore, getReadWriteLock, getSemaphore, isExistsAsync, loadAllAsync, loadAllAsync, mapReduce, migrateAsync, moveAsync, putAllOperationAsync, putIfAbsentOperationAsync, putIfExistsOperationAsync, putOperationAsync, readAllEntrySetAsync, readAllKeySetAsync, readAllMapAsync, readAllValuesAsync, removeOperationAsync, removeOperationAsync, replaceOperationAsync, replaceOperationAsync, scanIterator, touchAsync, unlinkAsync, valueSizeAsync
-
Methods inherited from class org.redisson.RedissonMap
addAndGet, addAndGetAsync, checkKey, checkValue, clear, compute, computeAsync, computeIfAbsent, computeIfAbsentAsync, computeIfPresent, computeIfPresentAsync, containsKey, containsKeyAsync, containsValue, entryIterator, entrySet, entrySet, entrySet, entrySet, equals, fastPut, fastPutAsync, fastPutIfAbsent, fastPutIfAbsentAsync, fastPutIfExists, fastPutIfExistsAsync, fastRemove, fastRemoveAsync, fastRemoveOperationBatchAsync, fastReplace, fastReplaceAsync, fastReplaceOperationAsync, get, getAll, getAllAsync, getAsync, hashCode, hasNoLoader, hasNoWriter, isEmpty, keyIterator, keySet, keySet, keySet, keySet, loadAll, loadAll, loadAllAsync, loadValue, mapWriterFuture, mapWriterFuture, merge, mergeAsync, put, putAll, putAll, putAllAsync, putAllAsync, putAsync, putIfAbsent, putIfAbsentAsync, putIfExists, putIfExistsAsync, randomEntries, randomEntriesAsync, randomKeys, randomKeysAsync, readAllEntrySet, readAllKeySet, readAllMap, readAllValues, remove, remove, removeAsync, removeAsync, replace, replace, replaceAsync, replaceAsync, scanIteratorAsync, size, sizeAsync, valueIterator, values, values, values, values, valueSize
-
Methods inherited from class org.redisson.RedissonObject
addListener, addListener, addListenerAsync, addListenerAsync, copy, copyAsync, delete, deleteAsync, dump, dumpAsync, encode, encode, encode, encode, encodeMapKey, encodeMapKeys, encodeMapValue, encodeMapValues, get, getCodec, getIdleTime, getIdleTimeAsync, getLockByMapKey, getLockByValue, getName, getRawName, getRawName, isExists, migrate, move, prefixName, removeListener, removeListenerAsync, removeListenersAsync, rename, renameAsync, renamenx, renamenxAsync, restore, restore, restoreAndReplace, restoreAndReplace, restoreAndReplaceAsync, restoreAndReplaceAsync, restoreAsync, restoreAsync, setName, sizeInMemory, sizeInMemoryAsync, sizeInMemoryAsync, sizeInMemoryAsync, suffixName, toSeconds, toStream, touch, unlink
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.util.concurrent.ConcurrentMap
compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, replaceAll
-
Methods inherited from interface org.redisson.api.RExpirable
clearExpire, expire, expire, expireAt, expireAt, remainTimeToLive
-
Methods inherited from interface org.redisson.api.RExpirableAsync
clearExpireAsync, expireAsync, expireAsync, expireAtAsync, expireAtAsync, remainTimeToLiveAsync
-
Methods inherited from interface org.redisson.api.RMap
addAndGet, containsKey, containsValue, entrySet, entrySet, entrySet, entrySet, fastPut, fastPutIfAbsent, fastPutIfExists, fastRemove, fastReplace, get, getAll, getCountDownLatch, getFairLock, getLock, getPermitExpirableSemaphore, getReadWriteLock, getSemaphore, keySet, keySet, keySet, keySet, loadAll, loadAll, mapReduce, put, putAll, putAll, putIfAbsent, putIfExists, randomEntries, randomKeys, readAllEntrySet, readAllKeySet, readAllMap, readAllValues, remove, remove, replace, replace, values, values, values, values, valueSize
-
Methods inherited from interface org.redisson.api.RMapAsync
addAndGetAsync, computeAsync, computeIfAbsentAsync, computeIfPresentAsync, containsKeyAsync, containsValueAsync, fastPutAsync, fastPutIfAbsentAsync, fastPutIfExistsAsync, fastRemoveAsync, fastReplaceAsync, getAllAsync, getAsync, loadAllAsync, loadAllAsync, mergeAsync, putAllAsync, putAllAsync, putAsync, putIfAbsentAsync, putIfExistsAsync, randomEntriesAsync, randomKeysAsync, readAllEntrySetAsync, readAllKeySetAsync, readAllMapAsync, readAllValuesAsync, removeAsync, removeAsync, replaceAsync, replaceAsync, sizeAsync, valueSizeAsync
-
Methods inherited from interface org.redisson.api.RObject
addListener, copy, delete, dump, getCodec, getIdleTime, getName, isExists, migrate, move, removeListener, rename, renamenx, restore, restore, restoreAndReplace, restoreAndReplace, sizeInMemory, touch, unlink
-
Methods inherited from interface org.redisson.api.RObjectAsync
addListenerAsync, copyAsync, deleteAsync, dumpAsync, getIdleTimeAsync, isExistsAsync, migrateAsync, moveAsync, removeListenerAsync, renameAsync, renamenxAsync, restoreAndReplaceAsync, restoreAndReplaceAsync, restoreAsync, restoreAsync, sizeInMemoryAsync, touchAsync, unlinkAsync
-
-
-
-
Constructor Detail
-
RedissonTransactionalLocalCachedMap
public RedissonTransactionalLocalCachedMap(CommandAsyncExecutor commandExecutor, List<TransactionalOperation> operations, long timeout, AtomicBoolean executed, RLocalCachedMap<K,V> innerMap, String transactionId)
-
-
Method Detail
-
destroy
public void destroy()
Description copied from interface:RDestroyable
Destroys object when it's not necessary anymore.- Specified by:
destroy
in interfaceRDestroyable
-
preloadCache
public void preloadCache()
Description copied from interface:RLocalCachedMap
Pre-warm the cached entries. Not guaranteed to load ALL values, but statistically will preload approximately all (all if no concurrent mutating activity). Entries are loaded in a batch with size of 10 elements.- Specified by:
preloadCache
in interfaceRLocalCachedMap<K,V>
-
preloadCache
public void preloadCache(int count)
Description copied from interface:RLocalCachedMap
Pre-warm the cached entries. Not guaranteed to load ALL values, but statistically will preload approximately all (all if no concurrent mutating activity) Entries are loaded in a batch. Batch size is defined bycount
param.- Specified by:
preloadCache
in interfaceRLocalCachedMap<K,V>
- Parameters:
count
- - size of batch
-
clearLocalCacheAsync
public RFuture<Void> clearLocalCacheAsync()
Description copied from interface:RLocalCachedMap
Clears local cache across all instances- Specified by:
clearLocalCacheAsync
in interfaceRLocalCachedMap<K,V>
- Returns:
- void
-
clearLocalCache
public void clearLocalCache()
Description copied from interface:RLocalCachedMap
Clears local cache across all instances- Specified by:
clearLocalCache
in interfaceRLocalCachedMap<K,V>
-
cachedKeySet
public Set<K> cachedKeySet()
Description copied from interface:RLocalCachedMap
Returns all keys stored in local cache- Specified by:
cachedKeySet
in interfaceRLocalCachedMap<K,V>
- Returns:
- keys
-
cachedValues
public Collection<V> cachedValues()
Description copied from interface:RLocalCachedMap
Returns all values stored in local cache- Specified by:
cachedValues
in interfaceRLocalCachedMap<K,V>
- Returns:
- values
-
cachedEntrySet
public Set<Map.Entry<K,V>> cachedEntrySet()
Description copied from interface:RLocalCachedMap
Returns all map entries stored in local cache- Specified by:
cachedEntrySet
in interfaceRLocalCachedMap<K,V>
- Returns:
- entries
-
getCachedMap
public Map<K,V> getCachedMap()
Description copied from interface:RLocalCachedMap
Returns state of local cache- Specified by:
getCachedMap
in interfaceRLocalCachedMap<K,V>
- Returns:
- map
-
expire
public boolean expire(long timeToLive, TimeUnit timeUnit)
Description copied from interface:RExpirable
Set a timeout for object. After the timeout has expired, the key will automatically be deleted.- Specified by:
expire
in interfaceRExpirable
- Parameters:
timeToLive
- - timeout before object will be deletedtimeUnit
- - timeout time unit- Returns:
true
if the timeout was set andfalse
if not
-
expireAt
public boolean expireAt(long timestamp)
Description copied from interface:RExpirable
UseRExpirable.expire(Instant)
instead- Specified by:
expireAt
in interfaceRExpirable
- Parameters:
timestamp
- - expire date in milliseconds (Unix timestamp)- Returns:
true
if the timeout was set andfalse
if not
-
expire
public boolean expire(Instant instant)
Description copied from interface:RExpirable
Set an expire date for object. When expire date comes the key will automatically be deleted.- Specified by:
expire
in interfaceRExpirable
- Parameters:
instant
- - expire date- Returns:
true
if the timeout was set andfalse
if not
-
expireAt
public boolean expireAt(Date timestamp)
Description copied from interface:RExpirable
UseRExpirable.expire(Instant)
instead- Specified by:
expireAt
in interfaceRExpirable
- Parameters:
timestamp
- - expire date- Returns:
true
if the timeout was set andfalse
if not
-
clearExpire
public boolean clearExpire()
Description copied from interface:RExpirable
Clear an expire timeout or expire date for object.- Specified by:
clearExpire
in interfaceRExpirable
- Returns:
true
if timeout was removedfalse
if object does not exist or does not have an associated timeout
-
remainTimeToLive
public long remainTimeToLive()
Description copied from interface:RExpirable
Remaining time to live of Redisson object that has a timeout- Specified by:
remainTimeToLive
in interfaceRExpirable
- Returns:
- time in milliseconds -2 if the key does not exist. -1 if the key exists but has no associated expire.
-
remainTimeToLiveAsync
public RFuture<Long> remainTimeToLiveAsync()
Description copied from interface:RExpirableAsync
Remaining time to live of Redisson object that has a timeout- Specified by:
remainTimeToLiveAsync
in interfaceRExpirableAsync
- Returns:
- time in milliseconds -2 if the key does not exist. -1 if the key exists but has no associated expire.
-
expireAsync
protected RFuture<Boolean> expireAsync(long timeToLive, TimeUnit timeUnit, String... keys)
-
-