Package org.redisson

Class RedissonKeys

  • All Implemented Interfaces:
    RKeys, RKeysAsync

    public class RedissonKeys
    extends Object
    implements RKeys
    Author:
    Nikita Koksharov
    • Method Detail

      • getType

        public RType getType​(String key)
        Description copied from interface: RKeys
        Get Redis object type by key
        Specified by:
        getType in interface RKeys
        Parameters:
        key - - name of key
        Returns:
        type of key
      • getSlot

        public int getSlot​(String key)
        Description copied from interface: RKeys
        Get hash slot identifier for key. Available for cluster nodes only
        Specified by:
        getSlot in interface RKeys
        Parameters:
        key - - name of key
        Returns:
        slot number
      • getSlotAsync

        public RFuture<Integer> getSlotAsync​(String key)
        Description copied from interface: RKeysAsync
        Get hash slot identifier for key in async mode. Available for cluster nodes only
        Specified by:
        getSlotAsync in interface RKeysAsync
        Parameters:
        key - - name of key
        Returns:
        slot
      • getKeysByPattern

        public Iterable<String> getKeysByPattern​(String pattern)
        Description copied from interface: RKeys
        Get all keys by pattern using iterator. 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

        Specified by:
        getKeysByPattern in interface RKeys
        Parameters:
        pattern - - match pattern
        Returns:
        Iterable object
      • getKeysByPattern

        public Iterable<String> getKeysByPattern​(String pattern,
                                                 int count)
        Description copied from interface: RKeys
        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

        Specified by:
        getKeysByPattern in interface RKeys
        Parameters:
        pattern - - match pattern
        count - - keys loaded per request to Redis
        Returns:
        Iterable object
      • getKeys

        public Iterable<String> getKeys()
        Description copied from interface: RKeys
        Get all keys using iterator. Keys traversing with SCAN operation. Each SCAN operation loads up to 10 keys per request.
        Specified by:
        getKeys in interface RKeys
        Returns:
        Iterable object
      • getKeys

        public Iterable<String> getKeys​(int count)
        Description copied from interface: RKeys
        Get all keys using iterator. Keys traversing with SCAN operation. Each SCAN operation loads up to count keys per request.
        Specified by:
        getKeys in interface RKeys
        Parameters:
        count - - keys loaded per request to Redis
        Returns:
        Iterable object
      • touch

        public long touch​(String... names)
        Description copied from interface: RKeys
        Update the last access time of an object.
        Specified by:
        touch in interface RKeys
        Parameters:
        names - of keys
        Returns:
        count of objects were touched
      • touchAsync

        public RFuture<Long> touchAsync​(String... names)
        Description copied from interface: RKeysAsync
        Update the last access time of an object.
        Specified by:
        touchAsync in interface RKeysAsync
        Parameters:
        names - of keys
        Returns:
        count of objects were touched
      • countExists

        public long countExists​(String... names)
        Description copied from interface: RKeys
        Checks if provided keys exist
        Specified by:
        countExists in interface RKeys
        Parameters:
        names - of keys
        Returns:
        amount of existing keys
      • countExistsAsync

        public RFuture<Long> countExistsAsync​(String... names)
        Description copied from interface: RKeysAsync
        Checks if provided keys exist
        Specified by:
        countExistsAsync in interface RKeysAsync
        Parameters:
        names - of keys
        Returns:
        amount of existing keys
      • randomKey

        public String randomKey()
        Description copied from interface: RKeys
        Get random key
        Specified by:
        randomKey in interface RKeys
        Returns:
        random key
      • deleteByPattern

        public long deleteByPattern​(String pattern)
        Description copied from interface: RKeys
        Delete multiple objects by a key pattern.

        Method executes in NON atomic way in cluster mode due to lua script limitations.

        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

        Specified by:
        deleteByPattern in interface RKeys
        Parameters:
        pattern - - match pattern
        Returns:
        number of removed keys
      • deleteByPatternAsync

        public RFuture<Long> deleteByPatternAsync​(String pattern)
        Description copied from interface: RKeysAsync
        Delete multiple objects by a key pattern.

        Method executes in NON atomic way in cluster mode due to lua script limitations.

        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

        Specified by:
        deleteByPatternAsync in interface RKeysAsync
        Parameters:
        pattern - - match pattern
        Returns:
        number of removed keys
      • delete

        public long delete​(String... keys)
        Description copied from interface: RKeys
        Delete multiple objects by name
        Specified by:
        delete in interface RKeys
        Parameters:
        keys - - object names
        Returns:
        number of removed keys
      • delete

        public long delete​(RObject... objects)
        Description copied from interface: RKeys
        Delete multiple objects
        Specified by:
        delete in interface RKeys
        Parameters:
        objects - of Redisson
        Returns:
        number of removed keys
      • deleteAsync

        public RFuture<Long> deleteAsync​(RObject... objects)
        Description copied from interface: RKeysAsync
        Delete multiple objects
        Specified by:
        deleteAsync in interface RKeysAsync
        Parameters:
        objects - of Redisson
        Returns:
        number of removed keys
      • unlink

        public long unlink​(String... keys)
        Description copied from interface: RKeys
        Delete multiple objects by name. Actual removal will happen later asynchronously.

        Requires Redis 4.0+

        Specified by:
        unlink in interface RKeys
        Parameters:
        keys - of objects
        Returns:
        number of removed keys
      • unlinkAsync

        public RFuture<Long> unlinkAsync​(String... keys)
        Description copied from interface: RKeysAsync
        Delete multiple objects by name. Actual removal will happen later asynchronously.

        Requires Redis 4.0+

        Specified by:
        unlinkAsync in interface RKeysAsync
        Parameters:
        keys - - object names
        Returns:
        number of removed keys
      • deleteAsync

        public RFuture<Long> deleteAsync​(String... keys)
        Description copied from interface: RKeysAsync
        Delete multiple objects by name
        Specified by:
        deleteAsync in interface RKeysAsync
        Parameters:
        keys - - object names
        Returns:
        number of removed keys
      • count

        public long count()
        Description copied from interface: RKeys
        Returns the number of keys in the currently-selected database
        Specified by:
        count in interface RKeys
        Returns:
        count of keys
      • countAsync

        public RFuture<Long> countAsync()
        Description copied from interface: RKeysAsync
        Returns the number of keys in the currently-selected database in async mode
        Specified by:
        countAsync in interface RKeysAsync
        Returns:
        number of keys
      • flushdbParallel

        public void flushdbParallel()
        Description copied from interface: RKeys
        Delete all keys of currently selected database in background without blocking server.

        Requires Redis 4.0+

        Specified by:
        flushdbParallel in interface RKeys
      • flushdbParallelAsync

        public RFuture<Void> flushdbParallelAsync()
        Description copied from interface: RKeysAsync
        Delete all keys of currently selected database in background without blocking server.

        Requires Redis 4.0+

        Specified by:
        flushdbParallelAsync in interface RKeysAsync
        Returns:
        void
      • flushallParallel

        public void flushallParallel()
        Description copied from interface: RKeys
        Delete all keys of all existing databases in background without blocking server.

        Requires Redis 4.0+

        Specified by:
        flushallParallel in interface RKeys
      • flushallParallelAsync

        public RFuture<Void> flushallParallelAsync()
        Description copied from interface: RKeysAsync
        Delete all keys of all existing databases in background without blocking server.

        Requires Redis 4.0+

        Specified by:
        flushallParallelAsync in interface RKeysAsync
        Returns:
        void
      • flushdb

        public void flushdb()
        Description copied from interface: RKeys
        Delete all keys of currently selected database
        Specified by:
        flushdb in interface RKeys
      • flushall

        public void flushall()
        Description copied from interface: RKeys
        Delete all keys of all existing databases
        Specified by:
        flushall in interface RKeys
      • remainTimeToLive

        public long remainTimeToLive​(String name)
        Description copied from interface: RKeys
        Remaining time to live of Redisson object that has a timeout
        Specified by:
        remainTimeToLive in interface RKeys
        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.
      • remainTimeToLiveAsync

        public RFuture<Long> remainTimeToLiveAsync​(String name)
        Description copied from interface: RKeysAsync
        Remaining time to live of Redisson object that has a timeout
        Specified by:
        remainTimeToLiveAsync in interface RKeysAsync
        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.
      • rename

        public void rename​(String currentName,
                           String newName)
        Description copied from interface: RKeys
        Rename current object key to newName
        Specified by:
        rename in interface RKeys
        Parameters:
        currentName - - current name of object
        newName - - new name of object
      • renameAsync

        public RFuture<Void> renameAsync​(String currentName,
                                         String newName)
        Description copied from interface: RKeysAsync
        Rename current object key to newName
        Specified by:
        renameAsync in interface RKeysAsync
        Parameters:
        currentName - - current name of object
        newName - - new name of object
        Returns:
        void
      • renamenx

        public boolean renamenx​(String oldName,
                                String newName)
        Description copied from interface: RKeys
        Rename object with oldName to newName only if new key is not exists
        Specified by:
        renamenx in interface RKeys
        Parameters:
        oldName - - old name of object
        newName - - new name of object
        Returns:
        true if object has been renamed successfully and false otherwise
      • renamenxAsync

        public RFuture<Boolean> renamenxAsync​(String oldName,
                                              String newName)
        Description copied from interface: RKeysAsync
        Rename object with oldName to newName only if new key is not exists
        Specified by:
        renamenxAsync in interface RKeysAsync
        Parameters:
        oldName - - old name of object
        newName - - new name of object
        Returns:
        true if object has been renamed successfully and false otherwise
      • clearExpire

        public boolean clearExpire​(String name)
        Description copied from interface: RKeys
        Clear an expire timeout or expire date for object.
        Specified by:
        clearExpire in interface RKeys
        Parameters:
        name - of object
        Returns:
        true if timeout was removed false if object does not exist or does not have an associated timeout
      • clearExpireAsync

        public RFuture<Boolean> clearExpireAsync​(String name)
        Description copied from interface: RKeysAsync
        Clear an expire timeout or expire date for object.
        Specified by:
        clearExpireAsync in interface RKeysAsync
        Parameters:
        name - of object
        Returns:
        true if timeout was removed false if object does not exist or does not have an associated timeout
      • expireAt

        public boolean expireAt​(String name,
                                long timestamp)
        Description copied from interface: RKeys
        Set an expire date for object. When expire date comes the key will automatically be deleted.
        Specified by:
        expireAt in interface RKeys
        Parameters:
        name - of object
        timestamp - - expire date in milliseconds (Unix timestamp)
        Returns:
        true if the timeout was set and false if not
      • expireAtAsync

        public RFuture<Boolean> expireAtAsync​(String name,
                                              long timestamp)
        Description copied from interface: RKeysAsync
        Set an expire date for object. When expire date comes the key will automatically be deleted.
        Specified by:
        expireAtAsync in interface RKeysAsync
        Parameters:
        name - of object
        timestamp - - expire date in milliseconds (Unix timestamp)
        Returns:
        true if the timeout was set and false if not
      • expire

        public boolean expire​(String name,
                              long timeToLive,
                              TimeUnit timeUnit)
        Description copied from interface: RKeys
        Set a timeout for object. After the timeout has expired, the key will automatically be deleted.
        Specified by:
        expire in interface RKeys
        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
      • expireAsync

        public RFuture<Boolean> expireAsync​(String name,
                                            long timeToLive,
                                            TimeUnit timeUnit)
        Description copied from interface: RKeysAsync
        Set a timeout for object. After the timeout has expired, the key will automatically be deleted.
        Specified by:
        expireAsync in interface RKeysAsync
        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
      • migrate

        public void migrate​(String name,
                            String host,
                            int port,
                            int database,
                            long timeout)
        Description copied from interface: RKeys
        Transfer object from source Redis instance to destination Redis instance
        Specified by:
        migrate in interface RKeys
        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
      • migrateAsync

        public RFuture<Void> migrateAsync​(String name,
                                          String host,
                                          int port,
                                          int database,
                                          long timeout)
        Description copied from interface: RKeysAsync
        Transfer object from source Redis instance to destination Redis instance
        Specified by:
        migrateAsync in interface RKeysAsync
        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

        public void copy​(String name,
                         String host,
                         int port,
                         int database,
                         long timeout)
        Description copied from interface: RKeys
        Copy object from source Redis instance to destination Redis instance
        Specified by:
        copy in interface RKeys
        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
      • copyAsync

        public RFuture<Void> copyAsync​(String name,
                                       String host,
                                       int port,
                                       int database,
                                       long timeout)
        Description copied from interface: RKeysAsync
        Copy object from source Redis instance to destination Redis instance in async mode
        Specified by:
        copyAsync in interface RKeysAsync
        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
      • move

        public boolean move​(String name,
                            int database)
        Description copied from interface: RKeys
        Move object to another database
        Specified by:
        move in interface RKeys
        Parameters:
        name - of object
        database - - Redis database number
        Returns:
        true if key was moved else false
      • moveAsync

        public RFuture<Boolean> moveAsync​(String name,
                                          int database)
        Description copied from interface: RKeysAsync
        Move object to another database
        Specified by:
        moveAsync in interface RKeysAsync
        Parameters:
        name - of object
        database - - Redis database number
        Returns:
        true if key was moved else false