Package org.redisson.api
Interface RKeysRx
-
public interface RKeysRx
- Author:
- Nikita Koksharov
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description io.reactivex.rxjava3.core.Single<Boolean>
clearExpire(String name)
Clear an expire timeout or expire date for object.io.reactivex.rxjava3.core.Completable
copy(String name, String host, int port, int database, long timeout)
Copy object from source Redis instance to destination Redis instanceio.reactivex.rxjava3.core.Single<Long>
count()
Returns the number of keys in the currently-selected databaseio.reactivex.rxjava3.core.Single<Long>
countExists(String... names)
Checks if provided keys existio.reactivex.rxjava3.core.Single<Long>
delete(String... keys)
Delete multiple objects by name.io.reactivex.rxjava3.core.Single<Long>
deleteByPattern(String pattern)
Delete multiple objects by a key pattern.io.reactivex.rxjava3.core.Single<Boolean>
expire(String name, long timeToLive, TimeUnit timeUnit)
Set a timeout for object.io.reactivex.rxjava3.core.Single<Boolean>
expireAt(String name, long timestamp)
Set an expire date for object.io.reactivex.rxjava3.core.Completable
flushall()
Delete all the keys of all the existing databases UsesFLUSHALL
Redis command.io.reactivex.rxjava3.core.Completable
flushallParallel()
Delete all keys of all existing databases in background without blocking server.io.reactivex.rxjava3.core.Completable
flushdb()
Delete all the keys of the currently selected database UsesFLUSHDB
Redis command.io.reactivex.rxjava3.core.Completable
flushdbParallel()
Delete all keys of currently selected database in background without blocking server.io.reactivex.rxjava3.core.Flowable<String>
getKeys()
Load keys in incrementally iterate mode.io.reactivex.rxjava3.core.Flowable<String>
getKeys(int count)
Load keys in incrementally iterate mode.io.reactivex.rxjava3.core.Flowable<String>
getKeysByPattern(String pattern)
Find keys by pattern and load it in incrementally iterate mode.io.reactivex.rxjava3.core.Flowable<String>
getKeysByPattern(String pattern, int count)
Get all keys by pattern using iterator.io.reactivex.rxjava3.core.Single<Integer>
getSlot(String key)
Get hash slot identifier for key.io.reactivex.rxjava3.core.Single<RType>
getType(String key)
Get Redis object type by keyio.reactivex.rxjava3.core.Completable
migrate(String name, String host, int port, int database, long timeout)
Transfer object from source Redis instance to destination Redis instanceio.reactivex.rxjava3.core.Single<Boolean>
move(String name, int database)
Move object to another databaseio.reactivex.rxjava3.core.Maybe<String>
randomKey()
Get random key UsesRANDOM_KEY
Redis command.io.reactivex.rxjava3.core.Single<Long>
remainTimeToLive(String name)
Remaining time to live of Redisson object that has a timeoutio.reactivex.rxjava3.core.Completable
rename(String currentName, String newName)
Rename current object key tonewName
io.reactivex.rxjava3.core.Single<Boolean>
renamenx(String oldName, String newName)
Rename object witholdName
tonewName
only if new key is not existsio.reactivex.rxjava3.core.Completable
swapdb(int db1, int db2)
Swap two databases.io.reactivex.rxjava3.core.Single<Long>
touch(String... names)
Update the last access time of an object.io.reactivex.rxjava3.core.Single<Long>
unlink(String... keys)
Delete multiple objects by name.
-
-
-
Method Detail
-
move
io.reactivex.rxjava3.core.Single<Boolean> move(String name, int database)
Move object to another database- Parameters:
name
- of objectdatabase
- - Redis database number- Returns:
true
if key was moved elsefalse
-
migrate
io.reactivex.rxjava3.core.Completable 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
io.reactivex.rxjava3.core.Completable 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
io.reactivex.rxjava3.core.Single<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:
true
if the timeout was set andfalse
if not
-
expireAt
io.reactivex.rxjava3.core.Single<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:
true
if the timeout was set andfalse
if not
-
clearExpire
io.reactivex.rxjava3.core.Single<Boolean> clearExpire(String name)
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
io.reactivex.rxjava3.core.Single<Boolean> renamenx(String oldName, String newName)
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
io.reactivex.rxjava3.core.Completable rename(String currentName, String newName)
Rename current object key tonewName
- Parameters:
currentName
- - current name of objectnewName
- - new name of object- Returns:
- void
-
remainTimeToLive
io.reactivex.rxjava3.core.Single<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
io.reactivex.rxjava3.core.Single<Long> touch(String... names)
Update the last access time of an object.- Parameters:
names
- of keys- Returns:
- count of objects were touched
-
countExists
io.reactivex.rxjava3.core.Single<Long> countExists(String... names)
Checks if provided keys exist- Parameters:
names
- of keys- Returns:
- amount of existing keys
-
getType
io.reactivex.rxjava3.core.Single<RType> getType(String key)
Get Redis object type by key- Parameters:
key
- - name of key- Returns:
- type of key
-
getKeys
io.reactivex.rxjava3.core.Flowable<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
io.reactivex.rxjava3.core.Flowable<String> getKeys(int count)
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
io.reactivex.rxjava3.core.Flowable<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
io.reactivex.rxjava3.core.Flowable<String> getKeysByPattern(String pattern, int count)
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
io.reactivex.rxjava3.core.Single<Integer> getSlot(String key)
Get hash slot identifier for key. Available for cluster nodes only. UsesKEYSLOT
Redis command.- Parameters:
key
- - name of key- Returns:
- slot number
-
randomKey
io.reactivex.rxjava3.core.Maybe<String> randomKey()
Get random key UsesRANDOM_KEY
Redis command.- Returns:
- random key
-
deleteByPattern
io.reactivex.rxjava3.core.Single<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
io.reactivex.rxjava3.core.Single<Long> delete(String... keys)
Delete multiple objects by name. UsesDEL
Redis command.- Parameters:
keys
- - object names- Returns:
- deleted objects amount
-
unlink
io.reactivex.rxjava3.core.Single<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
io.reactivex.rxjava3.core.Single<Long> count()
Returns the number of keys in the currently-selected database- Returns:
- count of keys
-
flushdb
io.reactivex.rxjava3.core.Completable flushdb()
Delete all the keys of the currently selected database UsesFLUSHDB
Redis command.- Returns:
- void
-
swapdb
io.reactivex.rxjava3.core.Completable swapdb(int db1, int db2)
Swap two databases.Requires Redis 4.0+
- Returns:
- void
-
flushall
io.reactivex.rxjava3.core.Completable flushall()
Delete all the keys of all the existing databases UsesFLUSHALL
Redis command.- Returns:
- void
-
flushdbParallel
io.reactivex.rxjava3.core.Completable flushdbParallel()
Delete all keys of currently selected database in background without blocking server.Requires Redis 4.0+
- Returns:
- void
-
flushallParallel
io.reactivex.rxjava3.core.Completable flushallParallel()
Delete all keys of all existing databases in background without blocking server.Requires Redis 4.0+
- Returns:
- void
-
-