Interface RKeysRx


public interface RKeysRx
Author:
Nikita Koksharov
  • Method Summary

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

    • move

      io.reactivex.rxjava3.core.Single<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

      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 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

      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 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

      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 object
      timeToLive - - timeout before object will be deleted
      timeUnit - - timeout time unit
      Returns:
      true if the timeout was set and false 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 object
      timestamp - - expire date in milliseconds (Unix timestamp)
      Returns:
      true if the timeout was set and false 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 removed false 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 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

      io.reactivex.rxjava3.core.Completable 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

      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 to count 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 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

      io.reactivex.rxjava3.core.Single<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

      io.reactivex.rxjava3.core.Maybe<String> randomKey()
      Get random key Uses RANDOM_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. Uses DEL 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 Uses FLUSHDB 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 Uses FLUSHALL 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