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 instance
      reactor.core.publisher.Mono<Long> count()
      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> 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 Uses FLUSHALL Redis 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 Uses FLUSHDB Redis 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 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> randomKey()
      Get random key Uses RANDOM_KEY Redis command.
      reactor.core.publisher.Mono<Long> remainTimeToLive​(String name)
      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 Detail

      • 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