Interface RKeysReactive


public interface RKeysReactive
Author:
Nikita Koksharov
  • Method Summary

    Modifier and Type
    Method
    Description
    reactor.core.publisher.Mono<Boolean>
    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 instance
    reactor.core.publisher.Mono<Long>
    Returns the number of keys in the currently-selected database
    reactor.core.publisher.Mono<Long>
    countExists(String... names)
    Checks if provided keys exist
    reactor.core.publisher.Mono<Long>
    delete(String... keys)
    Delete multiple objects by name.
    reactor.core.publisher.Mono<Long>
    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>
    Delete all the keys of all the existing databases Uses FLUSHALL Redis command.
    reactor.core.publisher.Mono<Void>
    Delete all keys of all existing databases in background without blocking server.
    reactor.core.publisher.Mono<Void>
    Delete all the keys of the currently selected database Uses FLUSHDB Redis command.
    reactor.core.publisher.Mono<Void>
    Delete all keys of currently selected database in background without blocking server.
    reactor.core.publisher.Flux<String>
    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>
    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 key
    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
    reactor.core.publisher.Mono<Boolean>
    move(String name, int database)
    Move object to another database
    reactor.core.publisher.Mono<String>
    Get random key Uses RANDOM_KEY Redis command.
    reactor.core.publisher.Mono<Long>
    Remaining time to live of Redisson object that has a timeout
    reactor.core.publisher.Mono<Void>
    rename(String currentName, String newName)
    Rename current object key to newName
    reactor.core.publisher.Mono<Boolean>
    renamenx(String oldName, String newName)
    Rename object with oldName to newName only if new key is not exists
    reactor.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 Details

    • move

      reactor.core.publisher.Mono<Boolean> move(String name, int database)
      Move object to another database
      Parameters:
      name - of object
      database - - Redis database number
      Returns:
      true if key was moved else false
    • 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 object
      host - - destination host
      port - - destination port
      database - - destination database
      timeout - - 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 object
      host - - destination host
      port - - destination port
      database - - destination database
      timeout - - 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 object
      timeToLive - - timeout before object will be deleted
      timeUnit - - timeout time unit
      Returns:
      true if the timeout was set and false if 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 object
      timestamp - - expire date in milliseconds (Unix timestamp)
      Returns:
      true if the timeout was set and false if not
    • clearExpire

      reactor.core.publisher.Mono<Boolean> clearExpire(String name)
      Clear an expire timeout or expire date for object.
      Parameters:
      name - of object
      Returns:
      true if timeout was removed false if object does not exist or does not have an associated timeout
    • renamenx

      reactor.core.publisher.Mono<Boolean> renamenx(String oldName, String newName)
      Rename object with oldName to newName only if new key is not exists
      Parameters:
      oldName - - old name of object
      newName - - new name of object
      Returns:
      true if object has been renamed successfully and false otherwise
    • rename

      reactor.core.publisher.Mono<Void> rename(String currentName, String newName)
      Rename current object key to newName
      Parameters:
      currentName - - current name of object
      newName - - 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 to count keys 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 to count 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
      count - - 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. Uses KEYSLOT Redis command.
      Parameters:
      key - - name of key
      Returns:
      slot number
    • randomKey

      reactor.core.publisher.Mono<String> randomKey()
      Get random key Uses RANDOM_KEY Redis 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. Uses DEL Redis 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 Uses FLUSHDB Redis 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 Uses FLUSHALL 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