V
- valuepublic class RedissonSetCache<V> extends RedissonObject implements RSetCache<V>, ScanIterator
Set-based cache with ability to set TTL for each entry via
RSetCache.add(Object, long, TimeUnit)
method.
Current Redis implementation doesn't have set entry eviction functionality.
Thus values are checked for TTL expiration during any value read operation.
If entry expired then it doesn't returns and clean task runs asynchronous.
Clean task deletes removes 100 expired entries at once.
In addition there is EvictionScheduler
. This scheduler
deletes expired entries in time interval between 5 seconds to 2 hours.
If eviction is not required then it's better to use RSet
.
codec, commandExecutor, name
Constructor and Description |
---|
RedissonSetCache(Codec codec,
EvictionScheduler evictionScheduler,
CommandAsyncExecutor commandExecutor,
String name,
RedissonClient redisson) |
RedissonSetCache(EvictionScheduler evictionScheduler,
CommandAsyncExecutor commandExecutor,
String name,
RedissonClient redisson) |
Modifier and Type | Method and Description |
---|---|
boolean |
add(V e) |
boolean |
add(V value,
long ttl,
TimeUnit unit)
Stores value with specified time to live.
|
boolean |
addAll(Collection<? extends V> c) |
RFuture<Boolean> |
addAllAsync(Collection<? extends V> c)
Adds all elements contained in the specified collection
|
RFuture<Boolean> |
addAsync(V value)
Adds element into this collection.
|
RFuture<Boolean> |
addAsync(V value,
long ttl,
TimeUnit unit)
Stores value with specified time to live.
|
void |
clear() |
boolean |
clearExpire()
Clear an expire timeout or expire date for object.
|
RFuture<Boolean> |
clearExpireAsync()
Clear an expire timeout or expire date for object in async mode.
|
protected RFuture<Boolean> |
clearExpireAsync(String... keys) |
boolean |
contains(Object o) |
boolean |
containsAll(Collection<?> c) |
RFuture<Boolean> |
containsAllAsync(Collection<?> c)
Returns
true if this collection contains all of the elements
in the specified collection. |
RFuture<Boolean> |
containsAsync(Object o)
Returns
true if this collection contains encoded state of the specified element. |
void |
destroy()
Destroys object when it's not necessary anymore.
|
boolean |
expire(long timeToLive,
TimeUnit timeUnit)
Set a timeout for object.
|
RFuture<Boolean> |
expireAsync(long timeToLive,
TimeUnit timeUnit)
Set a timeout for object in async mode.
|
protected RFuture<Boolean> |
expireAsync(long timeToLive,
TimeUnit timeUnit,
String... keys) |
boolean |
expireAt(Date timestamp)
Set an expire date for object.
|
boolean |
expireAt(long timestamp)
Set an expire date for object.
|
RFuture<Boolean> |
expireAtAsync(Date timestamp)
Set an expire date for object in async mode.
|
RFuture<Boolean> |
expireAtAsync(long timestamp)
Set an expire date for object in async mode.
|
protected RFuture<Boolean> |
expireAtAsync(long timestamp,
String... keys) |
RCountDownLatch |
getCountDownLatch(V value)
Returns
RCountDownLatch instance associated with value |
RLock |
getFairLock(V value)
Returns
RLock instance associated with value |
RLock |
getLock(V value)
Returns lock instance associated with
value |
RPermitExpirableSemaphore |
getPermitExpirableSemaphore(V value)
Returns
RPermitExpirableSemaphore instance associated with value |
RReadWriteLock |
getReadWriteLock(V value)
Returns
RReadWriteLock instance associated with value |
RSemaphore |
getSemaphore(V value)
Returns
RSemaphore instance associated with value |
boolean |
isEmpty() |
Iterator<V> |
iterator() |
Iterator<V> |
iterator(int count)
Returns an iterator over elements in this set.
|
Iterator<V> |
iterator(String pattern)
Returns values iterator matches
pattern . |
Iterator<V> |
iterator(String pattern,
int count)
Returns an iterator over elements in this set.
|
<KOut,VOut> |
mapReduce()
Returns
RMapReduce object associated with this map |
Set<V> |
readAll()
Read all elements at once
|
RFuture<Set<V>> |
readAllAsync()
Read all elements at once
|
long |
remainTimeToLive()
Remaining time to live of Redisson object that has a timeout
|
RFuture<Long> |
remainTimeToLiveAsync()
Remaining time to live of Redisson object that has a timeout
|
boolean |
remove(Object value) |
boolean |
removeAll(Collection<?> c) |
RFuture<Boolean> |
removeAllAsync(Collection<?> c)
Removes all of this collection's elements that are also contained in the
specified collection.
|
RFuture<Boolean> |
removeAsync(Object o)
Removes a single instance of the specified element from this
collection, if it is present.
|
boolean |
retainAll(Collection<?> c) |
RFuture<Boolean> |
retainAllAsync(Collection<?> c)
Retains only the elements in this collection that are contained in the
specified collection.
|
ListScanResult<Object> |
scanIterator(String name,
RedisClient client,
long startPos,
String pattern,
int count) |
RFuture<ListScanResult<Object>> |
scanIteratorAsync(String name,
RedisClient client,
long startPos,
String pattern,
int count) |
int |
size()
Returns the number of elements in cache.
|
RFuture<Integer> |
sizeAsync()
Returns the number of elements in cache.
|
Stream<V> |
stream(int count)
Returns stream of elements in this set.
|
Stream<V> |
stream(String pattern)
Returns stream of elements in this set matches
pattern . |
Stream<V> |
stream(String pattern,
int count)
Returns stream of elements in this set.
|
Object[] |
toArray() |
<T> T[] |
toArray(T[] a) |
addListener, addListenerAsync, copy, copyAsync, delete, deleteAsync, deleteAsync, dump, dumpAsync, encode, encode, encode, encodeMapKey, encodeMapKeys, encodeMapValue, encodeMapValues, get, getCodec, getLockByMapKey, getLockByValue, getName, getName, isExists, isExistsAsync, migrate, migrateAsync, move, moveAsync, prefixName, removeListener, removeListenerAsync, rename, renameAsync, renamenx, renamenxAsync, restore, restore, restoreAndReplace, restoreAndReplace, restoreAndReplaceAsync, restoreAndReplaceAsync, restoreAsync, restoreAsync, sizeInMemory, sizeInMemoryAsync, sizeInMemoryAsync, suffixName, toSeconds, toStream, touch, touchAsync, unlink, unlinkAsync
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
equals, hashCode, spliterator
parallelStream, removeIf, stream
clearExpire, expire, expireAt, expireAt, remainTimeToLive
addListener, copy, delete, dump, getCodec, getName, isExists, migrate, move, removeListener, rename, renamenx, restore, restore, restoreAndReplace, restoreAndReplace, sizeInMemory, touch, unlink
clearExpireAsync, expireAsync, expireAtAsync, expireAtAsync, remainTimeToLiveAsync
addListenerAsync, copyAsync, deleteAsync, dumpAsync, isExistsAsync, migrateAsync, moveAsync, removeListenerAsync, renameAsync, renamenxAsync, restoreAndReplaceAsync, restoreAndReplaceAsync, restoreAsync, restoreAsync, sizeInMemoryAsync, touchAsync, unlinkAsync
public RedissonSetCache(EvictionScheduler evictionScheduler, CommandAsyncExecutor commandExecutor, String name, RedissonClient redisson)
public RedissonSetCache(Codec codec, EvictionScheduler evictionScheduler, CommandAsyncExecutor commandExecutor, String name, RedissonClient redisson)
public <KOut,VOut> RCollectionMapReduce<V,KOut,VOut> mapReduce()
RSetCache
RMapReduce
object associated with this mappublic int size()
RSetCache
public RFuture<Integer> sizeAsync()
RSetCacheAsync
sizeAsync
in interface RCollectionAsync<V>
sizeAsync
in interface RSetCacheAsync<V>
public boolean isEmpty()
public boolean contains(Object o)
public RFuture<Boolean> containsAsync(Object o)
RCollectionAsync
true
if this collection contains encoded state of the specified element.containsAsync
in interface RCollectionAsync<V>
o
- element whose presence in this collection is to be testedtrue
if this collection contains the specified
element and false
otherwisepublic ListScanResult<Object> scanIterator(String name, RedisClient client, long startPos, String pattern, int count)
scanIterator
in interface ScanIterator
public RFuture<ListScanResult<Object>> scanIteratorAsync(String name, RedisClient client, long startPos, String pattern, int count)
scanIteratorAsync
in interface ScanIterator
public Iterator<V> iterator(int count)
RSetCache
count
param.public Iterator<V> iterator(String pattern)
RSetCache
pattern
.public Iterator<V> iterator(String pattern, int count)
RSetCache
count
param.
If pattern is not null then only elements match this pattern are loaded.public Set<V> readAll()
RSetCache
public RFuture<Set<V>> readAllAsync()
RSetCacheAsync
readAllAsync
in interface RSetCacheAsync<V>
public Object[] toArray()
public <T> T[] toArray(T[] a)
public boolean add(V e)
public boolean add(V value, long ttl, TimeUnit unit)
RSetCache
public RFuture<Boolean> addAsync(V value, long ttl, TimeUnit unit)
RSetCacheAsync
addAsync
in interface RSetCacheAsync<V>
value
- to addttl
- - time to live for key\value entry.
If 0
then stores infinitely.unit
- - time unittrue
if value has been added. false
if value already been in collection.public RFuture<Boolean> addAsync(V value)
RCollectionAsync
addAsync
in interface RCollectionAsync<V>
value
- - element to addtrue
if an element was added
and false
if it is already presentpublic RFuture<Boolean> removeAsync(Object o)
RCollectionAsync
removeAsync
in interface RCollectionAsync<V>
o
- element to be removed from this collection, if presenttrue
if an element was removed as a result of this callpublic boolean remove(Object value)
remove
in interface Collection<V>
remove
in interface Set<V>
remove
in interface ScanIterator
public boolean containsAll(Collection<?> c)
containsAll
in interface Collection<V>
containsAll
in interface Set<V>
public RFuture<Boolean> containsAllAsync(Collection<?> c)
RCollectionAsync
true
if this collection contains all of the elements
in the specified collection.containsAllAsync
in interface RCollectionAsync<V>
c
- collection to be checked for containment in this collectiontrue
if this collection contains all of the elements
in the specified collectionpublic boolean addAll(Collection<? extends V> c)
public RFuture<Boolean> addAllAsync(Collection<? extends V> c)
RCollectionAsync
addAllAsync
in interface RCollectionAsync<V>
c
- - collection of elements to addtrue
if at least one element was added
and false
if all elements are already presentpublic boolean retainAll(Collection<?> c)
public RFuture<Boolean> retainAllAsync(Collection<?> c)
RCollectionAsync
retainAllAsync
in interface RCollectionAsync<V>
c
- collection containing elements to be retained in this collectiontrue
if this collection changed as a result of the callpublic RFuture<Boolean> removeAllAsync(Collection<?> c)
RCollectionAsync
removeAllAsync
in interface RCollectionAsync<V>
c
- collection containing elements to be removed from this collectiontrue
if this collection changed as a result of the
callpublic boolean removeAll(Collection<?> c)
public void clear()
public RPermitExpirableSemaphore getPermitExpirableSemaphore(V value)
RSetCache
RPermitExpirableSemaphore
instance associated with value
getPermitExpirableSemaphore
in interface RSetCache<V>
value
- - set valuepublic RSemaphore getSemaphore(V value)
RSetCache
RSemaphore
instance associated with value
getSemaphore
in interface RSetCache<V>
value
- - set valuepublic RCountDownLatch getCountDownLatch(V value)
RSetCache
RCountDownLatch
instance associated with value
getCountDownLatch
in interface RSetCache<V>
value
- - set valuepublic RLock getFairLock(V value)
RSetCache
RLock
instance associated with value
getFairLock
in interface RSetCache<V>
value
- - set valuepublic RLock getLock(V value)
RSetCache
value
public RReadWriteLock getReadWriteLock(V value)
RSetCache
RReadWriteLock
instance associated with value
getReadWriteLock
in interface RSetCache<V>
value
- - set valuepublic void destroy()
RDestroyable
destroy
in interface RDestroyable
public Stream<V> stream(int count)
RSetCache
count
param.public Stream<V> stream(String pattern, int count)
RSetCache
count
param.
If pattern is not null then only elements match this pattern are loaded.public Stream<V> stream(String pattern)
RSetCache
pattern
.public boolean expire(long timeToLive, TimeUnit timeUnit)
RExpirable
expire
in interface RExpirable
timeToLive
- - timeout before object will be deletedtimeUnit
- - timeout time unittrue
if the timeout was set and false
if notpublic RFuture<Boolean> expireAsync(long timeToLive, TimeUnit timeUnit)
RExpirableAsync
expireAsync
in interface RExpirableAsync
timeToLive
- - timeout before object will be deletedtimeUnit
- - timeout time unittrue
if the timeout was set and false
if notpublic boolean expireAt(long timestamp)
RExpirable
expireAt
in interface RExpirable
timestamp
- - expire date in milliseconds (Unix timestamp)true
if the timeout was set and false
if notpublic RFuture<Boolean> expireAtAsync(long timestamp)
RExpirableAsync
expireAtAsync
in interface RExpirableAsync
timestamp
- - expire date in milliseconds (Unix timestamp)true
if the timeout was set and false
if notpublic boolean expireAt(Date timestamp)
RExpirable
expireAt
in interface RExpirable
timestamp
- - expire datetrue
if the timeout was set and false
if notpublic RFuture<Boolean> expireAtAsync(Date timestamp)
RExpirableAsync
expireAtAsync
in interface RExpirableAsync
timestamp
- - expire datetrue
if the timeout was set and false
if notpublic boolean clearExpire()
RExpirable
clearExpire
in interface RExpirable
true
if timeout was removed
false
if object does not exist or does not have an associated timeoutpublic RFuture<Boolean> clearExpireAsync()
RExpirableAsync
clearExpireAsync
in interface RExpirableAsync
true
if the timeout was cleared and false
if notpublic long remainTimeToLive()
RExpirable
remainTimeToLive
in interface RExpirable
public RFuture<Long> remainTimeToLiveAsync()
RExpirableAsync
remainTimeToLiveAsync
in interface RExpirableAsync
protected RFuture<Boolean> expireAsync(long timeToLive, TimeUnit timeUnit, String... keys)
Copyright © 2014–2020 Redisson. All rights reserved.