K
- keyV
- valuepublic abstract class RedissonMultimap<K,V> extends Object implements RMultimap<K,V>
Modifier and Type | Method and Description |
---|---|
void |
clear()
Removes all key-value pairs from the multimap, leaving it empty.
|
boolean |
clearExpire()
Clear an expire timeout or expire date for object.
|
io.netty.util.concurrent.Future<Boolean> |
clearExpireAsync()
Clear an expire timeout or expire date for object in async mode.
|
boolean |
containsEntry(Object key,
Object value)
Returns
true if this multimap contains at least one key-value pair
with the key key and the value value . |
boolean |
containsKey(Object key)
Returns
true if this multimap contains at least one key-value pair
with the key key . |
boolean |
containsValue(Object value)
Returns
true if this multimap contains at least one key-value pair
with the value value . |
boolean |
delete()
Deletes the object
|
io.netty.util.concurrent.Future<Boolean> |
deleteAsync()
Delete object in async mode
|
Collection<Map.Entry<K,V>> |
entries()
Returns a view collection of all key-value pairs contained in this
multimap, as
Map.Entry instances. |
boolean |
expire(long timeToLive,
TimeUnit timeUnit)
Set a timeout for object.
|
io.netty.util.concurrent.Future<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.
|
io.netty.util.concurrent.Future<Boolean> |
expireAtAsync(Date timestamp)
Set an expire date for object in async mode.
|
io.netty.util.concurrent.Future<Boolean> |
expireAtAsync(long timestamp)
Set an expire date for object in async mode.
|
long |
fastRemove(K... keys)
Removes
keys from map by one operation
Works faster than RMultimap.remove but not returning
the value associated with key |
io.netty.util.concurrent.Future<Long> |
fastRemoveAsync(K... keys)
Removes
keys from map by one operation
Works faster than removeAll but not returning
the value associated with key |
protected <V> V |
get(io.netty.util.concurrent.Future<V> future) |
Collection<V> |
getAll(K key)
Returns all elements at once.
|
String |
getName()
Returns name of object
|
protected String |
hash(byte[] objectState) |
boolean |
isEmpty()
Check is map empty
|
boolean |
isExists()
Check object existence
|
io.netty.util.concurrent.Future<Boolean> |
isExistsAsync()
Check object existence in async mode.
|
Set<K> |
keySet()
Returns a view collection of all distinct keys contained in this
multimap.
|
void |
migrate(String host,
int port,
int database)
Transfer an object from source Redis instance to destination Redis instance
|
io.netty.util.concurrent.Future<Void> |
migrateAsync(String host,
int port,
int database)
Transfer an object from source Redis instance to destination Redis instance
in async mode
|
boolean |
move(int database)
Move object to another database
|
io.netty.util.concurrent.Future<Boolean> |
moveAsync(int database)
Move object to another database in async mode
|
protected <V> io.netty.util.concurrent.Promise<V> |
newPromise() |
protected <V> io.netty.util.concurrent.Future<V> |
newSucceededFuture(V result) |
boolean |
put(K key,
V value)
Stores a key-value pair in this multimap.
|
boolean |
putAll(K key,
Iterable<? extends V> values)
Stores a key-value pair in this multimap for each of
values , all
using the same key, key . |
long |
remainTimeToLive()
Remaining time to live of Redisson object that has a timeout
|
io.netty.util.concurrent.Future<Long> |
remainTimeToLiveAsync()
Get remaining time to live of object in seconds.
|
boolean |
remove(Object key,
Object value)
Removes a single key-value pair with the key
key and the value
value from this multimap, if such exists. |
Collection<V> |
removeAll(Object key)
Removes all values associated with the key
key . |
void |
rename(String newName)
Rename current object key to
newName |
io.netty.util.concurrent.Future<Void> |
renameAsync(String newName)
Rename current object key to
newName
in async mode |
boolean |
renamenx(String newName)
Rename current object key to
newName
only if new key is not exists |
io.netty.util.concurrent.Future<Boolean> |
renamenxAsync(String newName)
Rename current object key to
newName
in async mode only if new key is not exists |
Collection<V> |
replaceValues(K key,
Iterable<? extends V> values)
Stores a collection of values with the same key, replacing any existing
values for that key.
|
int |
size()
Returns the number of key-value pairs in this multimap.
|
Collection<V> |
values()
Returns a view collection containing the value from each key-value
pair contained in this multimap, without collapsing duplicates (so
values().size() == size() ). |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
clearExpire, expire, expireAt, expireAt, remainTimeToLive
delete, getName, isExists, migrate, move, rename, renamenx
containsEntryAsync, containsKeyAsync, containsValueAsync, getAllAsync, putAllAsync, putAsync, removeAllAsync, removeAsync, replaceValuesAsync, sizeAsync
expireAtAsync, remainTimeToLiveAsync
isExistsAsync, migrateAsync, moveAsync, renameAsync, renamenxAsync
protected String hash(byte[] objectState)
public int size()
RMultimap
public boolean isEmpty()
RMultimap
public boolean containsKey(Object key)
RMultimap
true
if this multimap contains at least one key-value pair
with the key key
.containsKey
in interface RMultimap<K,V>
public boolean containsValue(Object value)
RMultimap
true
if this multimap contains at least one key-value pair
with the value value
.containsValue
in interface RMultimap<K,V>
public boolean containsEntry(Object key, Object value)
RMultimap
true
if this multimap contains at least one key-value pair
with the key key
and the value value
.containsEntry
in interface RMultimap<K,V>
public boolean put(K key, V value)
RMultimap
Some multimap implementations allow duplicate key-value pairs, in which
case put
always adds a new key-value pair and increases the
multimap size by 1. Other implementations prohibit duplicates, and storing
a key-value pair that's already in the multimap has no effect.
public boolean remove(Object key, Object value)
RMultimap
key
and the value
value
from this multimap, if such exists. If multiple key-value
pairs in the multimap fit this description, which one is removed is
unspecified.public boolean putAll(K key, Iterable<? extends V> values)
RMultimap
values
, all
using the same key, key
. Equivalent to (but expected to be more
efficient than): for (V value : values) {
put(key, value);
}
In particular, this is a no-op if values
is empty.
public void clear()
RMultimap
public Set<K> keySet()
RMultimap
Changes to the returned set will update the underlying multimap, and vice versa. However, adding to the returned set is not possible.
public Collection<V> values()
RMultimap
values().size() == size()
).
Changes to the returned collection will update the underlying multimap, and vice versa. However, adding to the returned collection is not possible.
public Collection<V> getAll(K key)
RMultimap
public Collection<V> removeAll(Object key)
RMultimap
key
.
Once this method returns, key
will not be mapped to any values,
so it will not appear in RMultimap.keySet()
, #asMap()
, or any other
views.
Use #fastRemove()
if values are not needed.
public Collection<V> replaceValues(K key, Iterable<? extends V> values)
RMultimap
If values
is empty, this is equivalent to
removeAll(key)
.
replaceValues
in interface RMultimap<K,V>
public Collection<Map.Entry<K,V>> entries()
RMultimap
Map.Entry
instances.
Changes to the returned collection or the entries it contains will update the underlying multimap, and vice versa. However, adding to the returned collection is not possible.
public long fastRemove(K... keys)
RMultimap
keys
from map by one operation
Works faster than RMultimap.remove
but not returning
the value associated with key
fastRemove
in interface RMultimap<K,V>
public io.netty.util.concurrent.Future<Long> fastRemoveAsync(K... keys)
RMultimapAsync
keys
from map by one operation
Works faster than removeAll
but not returning
the value associated with key
fastRemoveAsync
in interface RMultimapAsync<K,V>
public io.netty.util.concurrent.Future<Boolean> deleteAsync()
RObjectAsync
deleteAsync
in interface RObjectAsync
true
if object was deleted false
if notpublic io.netty.util.concurrent.Future<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 io.netty.util.concurrent.Future<Boolean> expireAtAsync(long timestamp)
RExpirableAsync
expireAtAsync
in interface RExpirableAsync
timestamp
- - expire date in seconds (Unix timestamp)true
if the timeout was set and false
if notpublic io.netty.util.concurrent.Future<Boolean> clearExpireAsync()
RExpirableAsync
clearExpireAsync
in interface RExpirableAsync
true
if the timeout was cleared and false
if notpublic 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 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 boolean expireAt(Date timestamp)
RExpirable
expireAt
in interface RExpirable
timestamp
- - expire datetrue
if the timeout was set and false
if notpublic io.netty.util.concurrent.Future<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 long remainTimeToLive()
RExpirable
remainTimeToLive
in interface RExpirable
public io.netty.util.concurrent.Future<Long> remainTimeToLiveAsync()
RExpirableAsync
remainTimeToLiveAsync
in interface RExpirableAsync
-1
if object does not exist or time in secondsprotected <V> V get(io.netty.util.concurrent.Future<V> future)
protected <V> io.netty.util.concurrent.Promise<V> newPromise()
protected <V> io.netty.util.concurrent.Future<V> newSucceededFuture(V result)
public void rename(String newName)
RObject
newName
public io.netty.util.concurrent.Future<Void> renameAsync(String newName)
RObjectAsync
newName
in async moderenameAsync
in interface RObjectAsync
public void migrate(String host, int port, int database)
RObject
public io.netty.util.concurrent.Future<Void> migrateAsync(String host, int port, int database)
RObjectAsync
migrateAsync
in interface RObjectAsync
host
- - destination hostport
- - destination portdatabase
- - destination databasepublic boolean move(int database)
RObject
public io.netty.util.concurrent.Future<Boolean> moveAsync(int database)
RObjectAsync
moveAsync
in interface RObjectAsync
true
if key was moved false
if notpublic boolean renamenx(String newName)
RObject
newName
only if new key is not existspublic io.netty.util.concurrent.Future<Boolean> renamenxAsync(String newName)
RObjectAsync
newName
in async mode only if new key is not existsrenamenxAsync
in interface RObjectAsync
public boolean delete()
RObject
public boolean isExists()
RObject
public io.netty.util.concurrent.Future<Boolean> isExistsAsync()
RObjectAsync
isExistsAsync
in interface RObjectAsync
true
if object exists and false
otherwiseCopyright © 2014–2016. All rights reserved.