Package org.redisson.api
Interface RKeysReactive
-
public interface RKeysReactive- Author:
- Nikita Koksharov
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description reactor.core.publisher.Mono<Boolean>clearExpire(String name)Clear an expire timeout or expire date for object.reactor.core.publisher.Mono<Void>copy(String name, String host, int port, int database, long timeout)Copy object from source Redis instance to destination Redis instancereactor.core.publisher.Mono<Long>count()Returns the number of keys in the currently-selected databasereactor.core.publisher.Mono<Long>countExists(String... names)Checks if provided keys existreactor.core.publisher.Mono<Long>delete(String... keys)Delete multiple objects by name.reactor.core.publisher.Mono<Long>deleteByPattern(String pattern)Delete multiple objects by a key pattern.reactor.core.publisher.Mono<Boolean>expire(String name, long timeToLive, TimeUnit timeUnit)Set a timeout for object.reactor.core.publisher.Mono<Boolean>expireAt(String name, long timestamp)Set an expire date for object.reactor.core.publisher.Mono<Void>flushall()Delete all the keys of all the existing databases UsesFLUSHALLRedis command.reactor.core.publisher.Mono<Void>flushallParallel()Delete all keys of all existing databases in background without blocking server.reactor.core.publisher.Mono<Void>flushdb()Delete all the keys of the currently selected database UsesFLUSHDBRedis command.reactor.core.publisher.Mono<Void>flushdbParallel()Delete all keys of currently selected database in background without blocking server.reactor.core.publisher.Flux<String>getKeys()Load keys in incrementally iterate mode.reactor.core.publisher.Flux<String>getKeys(int count)Load keys in incrementally iterate mode.reactor.core.publisher.Flux<String>getKeysByPattern(String pattern)Find keys by pattern and load it in incrementally iterate mode.reactor.core.publisher.Flux<String>getKeysByPattern(String pattern, int count)Get all keys by pattern using iterator.reactor.core.publisher.Mono<Integer>getSlot(String key)Get hash slot identifier for key.reactor.core.publisher.Mono<RType>getType(String key)Get Redis object type by keyreactor.core.publisher.Mono<Void>migrate(String name, String host, int port, int database, long timeout)Transfer object from source Redis instance to destination Redis instancereactor.core.publisher.Mono<Boolean>move(String name, int database)Move object to another databasereactor.core.publisher.Mono<String>randomKey()Get random key UsesRANDOM_KEYRedis command.reactor.core.publisher.Mono<Long>remainTimeToLive(String name)Remaining time to live of Redisson object that has a timeoutreactor.core.publisher.Mono<Void>rename(String currentName, String newName)Rename current object key tonewNamereactor.core.publisher.Mono<Boolean>renamenx(String oldName, String newName)Rename object witholdNametonewNameonly if new key is not existsreactor.core.publisher.Mono<Void>swapdb(int db1, int db2)Swap two databases.reactor.core.publisher.Mono<Long>touch(String... names)Update the last access time of an object.reactor.core.publisher.Mono<Long>unlink(String... keys)Delete multiple objects by name.
-
-
-
Method Detail
-
move
reactor.core.publisher.Mono<Boolean> move(String name, int database)
Move object to another database- Parameters:
name- of objectdatabase- - Redis database number- Returns:
trueif key was moved elsefalse
-
migrate
reactor.core.publisher.Mono<Void> migrate(String name, String host, int port, int database, long timeout)
Transfer object from source Redis instance to destination Redis instance- Parameters:
name- of objecthost- - destination hostport- - destination portdatabase- - destination databasetimeout- - maximum idle time in any moment of the communication with the destination instance in milliseconds- Returns:
- void
-
copy
reactor.core.publisher.Mono<Void> copy(String name, String host, int port, int database, long timeout)
Copy object from source Redis instance to destination Redis instance- Parameters:
name- of objecthost- - destination hostport- - destination portdatabase- - destination databasetimeout- - maximum idle time in any moment of the communication with the destination instance in milliseconds- Returns:
- void
-
expire
reactor.core.publisher.Mono<Boolean> expire(String name, long timeToLive, TimeUnit timeUnit)
Set a timeout for object. After the timeout has expired, the key will automatically be deleted.- Parameters:
name- of objecttimeToLive- - timeout before object will be deletedtimeUnit- - timeout time unit- Returns:
trueif the timeout was set andfalseif not
-
expireAt
reactor.core.publisher.Mono<Boolean> expireAt(String name, long timestamp)
Set an expire date for object. When expire date comes the key will automatically be deleted.- Parameters:
name- of objecttimestamp- - expire date in milliseconds (Unix timestamp)- Returns:
trueif the timeout was set andfalseif not
-
clearExpire
reactor.core.publisher.Mono<Boolean> clearExpire(String name)
Clear an expire timeout or expire date for object.- Parameters:
name- of object- Returns:
trueif timeout was removedfalseif object does not exist or does not have an associated timeout
-
renamenx
reactor.core.publisher.Mono<Boolean> renamenx(String oldName, String newName)
Rename object witholdNametonewNameonly if new key is not exists- Parameters:
oldName- - old name of objectnewName- - new name of object- Returns:
trueif object has been renamed successfully andfalseotherwise
-
rename
reactor.core.publisher.Mono<Void> rename(String currentName, String newName)
Rename current object key tonewName- Parameters:
currentName- - current name of objectnewName- - new name of object- Returns:
- void
-
remainTimeToLive
reactor.core.publisher.Mono<Long> remainTimeToLive(String name)
Remaining time to live of Redisson object that has a timeout- Parameters:
name- of key- Returns:
- time in milliseconds -2 if the key does not exist. -1 if the key exists but has no associated expire.
-
touch
reactor.core.publisher.Mono<Long> touch(String... names)
Update the last access time of an object.- Parameters:
names- of keys- Returns:
- count of objects were touched
-
countExists
reactor.core.publisher.Mono<Long> countExists(String... names)
Checks if provided keys exist- Parameters:
names- of keys- Returns:
- amount of existing keys
-
getType
reactor.core.publisher.Mono<RType> getType(String key)
Get Redis object type by key- Parameters:
key- - name of key- Returns:
- type of key
-
getKeys
reactor.core.publisher.Flux<String> getKeys()
Load keys in incrementally iterate mode. Keys traversed with SCAN operation. Each SCAN operation loads up to 10 keys per request.- Returns:
- keys
-
getKeys
reactor.core.publisher.Flux<String> getKeys(int count)
Load keys in incrementally iterate mode. Keys traversed with SCAN operation. Each SCAN operation loads up tocountkeys per request.- Parameters:
count- - keys loaded per request to Redis- Returns:
- keys
-
getKeysByPattern
reactor.core.publisher.Flux<String> getKeysByPattern(String pattern)
Find keys by pattern and load it in incrementally iterate mode. Keys traversed with SCAN operation. Each SCAN operation loads up to 10 keys per request.Supported glob-style patterns: h?llo subscribes to hello, hallo and hxllo h*llo subscribes to hllo and heeeello h[ae]llo subscribes to hello and hallo, but not hillo
- Parameters:
pattern- - match pattern- Returns:
- keys
-
getKeysByPattern
reactor.core.publisher.Flux<String> getKeysByPattern(String pattern, int count)
Get all keys by pattern using iterator. Keys traversed with SCAN operation. Each SCAN operation loads up tocountkeys per request.Supported glob-style patterns:
h?llo subscribes to hello, hallo and hxllo
h*llo subscribes to hllo and heeeello
h[ae]llo subscribes to hello and hallo, but not hillo
- Parameters:
pattern- - match patterncount- - keys loaded per request to Redis- Returns:
- keys
-
getSlot
reactor.core.publisher.Mono<Integer> getSlot(String key)
Get hash slot identifier for key. Available for cluster nodes only. UsesKEYSLOTRedis command.- Parameters:
key- - name of key- Returns:
- slot number
-
randomKey
reactor.core.publisher.Mono<String> randomKey()
Get random key UsesRANDOM_KEYRedis command.- Returns:
- random key
-
deleteByPattern
reactor.core.publisher.Mono<Long> deleteByPattern(String pattern)
Delete multiple objects by a key pattern. Uses Lua script. Supported glob-style patterns: h?llo subscribes to hello, hallo and hxllo h*llo subscribes to hllo and heeeello h[ae]llo subscribes to hello and hallo, but not hillo- Parameters:
pattern- - match pattern- Returns:
- deleted objects amount
-
delete
reactor.core.publisher.Mono<Long> delete(String... keys)
Delete multiple objects by name. UsesDELRedis command.- Parameters:
keys- - object names- Returns:
- deleted objects amount
-
unlink
reactor.core.publisher.Mono<Long> unlink(String... keys)
Delete multiple objects by name. Actual removal will happen later asynchronously.Requires Redis 4.0+
- Parameters:
keys- of objects- Returns:
- number of removed keys
-
count
reactor.core.publisher.Mono<Long> count()
Returns the number of keys in the currently-selected database- Returns:
- count of keys
-
flushdb
reactor.core.publisher.Mono<Void> flushdb()
Delete all the keys of the currently selected database UsesFLUSHDBRedis command.- Returns:
- void
-
swapdb
reactor.core.publisher.Mono<Void> swapdb(int db1, int db2)
Swap two databases.Requires Redis 4.0+
- Returns:
- void
-
flushall
reactor.core.publisher.Mono<Void> flushall()
Delete all the keys of all the existing databases UsesFLUSHALLRedis command.- Returns:
- void
-
flushdbParallel
reactor.core.publisher.Mono<Void> flushdbParallel()
Delete all keys of currently selected database in background without blocking server.Requires Redis 4.0+
- Returns:
- void
-
flushallParallel
reactor.core.publisher.Mono<Void> flushallParallel()
Delete all keys of all existing databases in background without blocking server.Requires Redis 4.0+
- Returns:
- void
-
-