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| 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) |
RFuture<Boolean> |
addAsync(V value) |
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.
|
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 the specified element.
|
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.
|
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.
|
RLock |
getLock(V value)
Returns lock 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 (optional operation).
|
RFuture<Boolean> |
removeAsync(Object o)
Removes a single instance of the specified element from this
collection, if it is present (optional operation).
|
boolean |
retainAll(Collection<?> c) |
RFuture<Boolean> |
retainAllAsync(Collection<?> c)
Retains only the elements in this collection that are contained in the
specified collection (optional operation).
|
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.
|
Object[] |
toArray() |
<T> T[] |
toArray(T[] a) |
await, copy, copyAsync, delete, deleteAsync, encode, encode, encode, encodeMapKey, encodeMapKeys, encodeMapValue, encodeMapValues, get, getCodec, getName, getName, isExists, isExistsAsync, migrate, migrateAsync, move, moveAsync, prefixName, rename, renameAsync, renamenx, renamenxAsync, suffixName, toSeconds, touch, touchAsync, unlink, unlinkAsyncclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitequals, hashCode, spliteratorparallelStream, removeIf, streamclearExpire, expire, expireAt, expireAt, remainTimeToLivecopy, delete, getCodec, getName, isExists, migrate, move, rename, renamenx, touch, unlinkclearExpireAsync, expireAsync, expireAtAsync, expireAtAsync, remainTimeToLiveAsynccopyAsync, deleteAsync, isExistsAsync, migrateAsync, moveAsync, renameAsync, renamenxAsync, touchAsync, unlinkAsyncpublic 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()
RSetCacheRMapReduce object associated with this mappublic int size()
RSetCachepublic RFuture<Integer> sizeAsync()
RSetCacheAsyncsizeAsync in interface RCollectionAsync<V>sizeAsync in interface RSetCacheAsync<V>public boolean isEmpty()
public boolean contains(Object o)
public RFuture<Boolean> containsAsync(Object o)
RCollectionAsynccontainsAsync in interface RCollectionAsync<V>o - element whose presence in this collection is to be testedpublic ListScanResult<Object> scanIterator(String name, RedisClient client, long startPos, String pattern, int count)
scanIterator in interface ScanIteratorpublic RFuture<ListScanResult<Object>> scanIteratorAsync(String name, RedisClient client, long startPos, String pattern, int count)
scanIteratorAsync in interface ScanIteratorpublic Iterator<V> iterator(int count)
RSetCachecount param.public Iterator<V> iterator(String pattern)
RSetCachepattern.public Iterator<V> iterator(String pattern, int count)
RSetCachecount param.
If pattern is not null then only elements match this pattern are loaded.public Set<V> readAll()
RSetCachepublic RFuture<Set<V>> readAllAsync()
RSetCacheAsyncreadAllAsync 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)
RSetCachepublic RFuture<Boolean> addAsync(V value, long ttl, TimeUnit unit)
RSetCacheAsyncaddAsync 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)
addAsync in interface RCollectionAsync<V>public RFuture<Boolean> removeAsync(Object o)
RCollectionAsyncremoveAsync in interface RCollectionAsync<V>o - element to be removed from this collection, if presentpublic boolean remove(Object value)
remove in interface Collection<V>remove in interface Set<V>remove in interface ScanIteratorpublic boolean containsAll(Collection<?> c)
containsAll in interface Collection<V>containsAll in interface Set<V>public RFuture<Boolean> containsAllAsync(Collection<?> c)
RCollectionAsynccontainsAllAsync in interface RCollectionAsync<V>c - collection to be checked for containment in this collectionpublic boolean addAll(Collection<? extends V> c)
public RFuture<Boolean> addAllAsync(Collection<? extends V> c)
addAllAsync in interface RCollectionAsync<V>public boolean retainAll(Collection<?> c)
public RFuture<Boolean> retainAllAsync(Collection<?> c)
RCollectionAsyncretainAllAsync in interface RCollectionAsync<V>c - collection containing elements to be retained in this collectionpublic RFuture<Boolean> removeAllAsync(Collection<?> c)
RCollectionAsyncremoveAllAsync in interface RCollectionAsync<V>c - collection containing elements to be removed from this collectionpublic boolean removeAll(Collection<?> c)
public void clear()
public RLock getLock(V value)
RSetCachevaluepublic boolean expire(long timeToLive,
TimeUnit timeUnit)
RExpirableexpire in interface RExpirabletimeToLive - - 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)
RExpirableAsyncexpireAsync in interface RExpirableAsynctimeToLive - - timeout before object will be deletedtimeUnit - - timeout time unittrue if the timeout was set and false if notpublic boolean expireAt(long timestamp)
RExpirableexpireAt in interface RExpirabletimestamp - - expire date in milliseconds (Unix timestamp)true if the timeout was set and false if notpublic RFuture<Boolean> expireAtAsync(long timestamp)
RExpirableAsyncexpireAtAsync in interface RExpirableAsynctimestamp - - expire date in seconds (Unix timestamp)true if the timeout was set and false if notpublic boolean expireAt(Date timestamp)
RExpirableexpireAt in interface RExpirabletimestamp - - expire datetrue if the timeout was set and false if notpublic RFuture<Boolean> expireAtAsync(Date timestamp)
RExpirableAsyncexpireAtAsync in interface RExpirableAsynctimestamp - - expire datetrue if the timeout was set and false if notpublic boolean clearExpire()
RExpirableclearExpire in interface RExpirabletrue if timeout was removed
false if object does not exist or does not have an associated timeoutpublic RFuture<Boolean> clearExpireAsync()
RExpirableAsyncclearExpireAsync in interface RExpirableAsynctrue if the timeout was cleared and false if notpublic long remainTimeToLive()
RExpirableremainTimeToLive in interface RExpirablepublic RFuture<Long> remainTimeToLiveAsync()
RExpirableAsyncremainTimeToLiveAsync in interface RExpirableAsyncCopyright © 2014–2018 The Redisson Project. All rights reserved.