Package org.redisson.api
Interface RKeysReactive
public interface RKeysReactive
- Author:
- Nikita Koksharov
-
Method Summary
Modifier and TypeMethodDescriptionreactor.core.publisher.Mono<Boolean>
clearExpire
(String name) Clear an expire timeout or expire date for object.reactor.core.publisher.Mono<Void>
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 multiple objects by name.reactor.core.publisher.Mono<Long>
deleteByPattern
(String pattern) Delete multiple objects by a key pattern.reactor.core.publisher.Mono<Boolean>
Set a timeout for object.reactor.core.publisher.Mono<Boolean>
Set an expire date for object.reactor.core.publisher.Mono<Void>
flushall()
Delete all the keys of all the existing databases UsesFLUSHALL
Redis command.reactor.core.publisher.Mono<Void>
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 UsesFLUSHDB
Redis command.reactor.core.publisher.Mono<Void>
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>
Get hash slot identifier for key.reactor.core.publisher.Mono<RType>
Get Redis object type by keyreactor.core.publisher.Mono<Void>
Transfer object from source Redis instance to destination Redis instancereactor.core.publisher.Mono<Boolean>
Move object to another databasereactor.core.publisher.Mono<String>
Get random key UsesRANDOM_KEY
Redis 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 current object key tonewName
reactor.core.publisher.Mono<Boolean>
Rename object witholdName
tonewName
only if new key is not existsreactor.core.publisher.Mono<Void>
swapdb
(int db1, int db2) Swap two databases.reactor.core.publisher.Mono<Long>
Update the last access time of an object.reactor.core.publisher.Mono<Long>
Delete multiple objects by name.
-
Method Details
-
move
Move object to another database- Parameters:
name
- of objectdatabase
- - Redis database number- Returns:
true
if 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
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:
true
if the timeout was set andfalse
if not
-
expireAt
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:
true
if the timeout was set andfalse
if not
-
clearExpire
Clear an expire timeout or expire date for object.- Parameters:
name
- of object- Returns:
true
if timeout was removedfalse
if object does not exist or does not have an associated timeout
-
renamenx
Rename object witholdName
tonewName
only if new key is not exists- Parameters:
oldName
- - old name of objectnewName
- - new name of object- Returns:
true
if object has been renamed successfully andfalse
otherwise
-
rename
Rename current object key tonewName
- Parameters:
currentName
- - current name of objectnewName
- - new name of object- Returns:
- void
-
remainTimeToLive
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
Update the last access time of an object.- Parameters:
names
- of keys- Returns:
- count of objects were touched
-
countExists
Checks if provided keys exist- Parameters:
names
- of keys- Returns:
- amount of existing keys
-
getType
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
Load keys in incrementally iterate mode. Keys traversed with SCAN operation. Each SCAN operation loads up tocount
keys per request.- Parameters:
count
- - keys loaded per request to Redis- Returns:
- keys
-
getKeysByPattern
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
Get all keys by pattern using iterator. Keys traversed with SCAN operation. Each SCAN operation loads up tocount
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 patterncount
- - keys loaded per request to Redis- Returns:
- keys
-
getSlot
Get hash slot identifier for key. Available for cluster nodes only. UsesKEYSLOT
Redis command.- Parameters:
key
- - name of key- Returns:
- slot number
-
randomKey
reactor.core.publisher.Mono<String> randomKey()Get random key UsesRANDOM_KEY
Redis command.- Returns:
- random key
-
deleteByPattern
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
Delete multiple objects by name. UsesDEL
Redis command.- Parameters:
keys
- - object names- Returns:
- deleted objects amount
-
unlink
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 UsesFLUSHDB
Redis command.- Returns:
- void
-
swapdb
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 UsesFLUSHALL
Redis 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
-