Class BlockingListCommandsImpl<K,​V>

    • Method Detail

      • blmove

        public V blmove​(K source,
                        K destination,
                        Position positionInSource,
                        Position positionInDest,
                        Duration timeout)
        Description copied from interface: ListCommands
        Execute the command BLMOVE. Summary: Pop an element from a list, push it to another list and return it; or block until one is available Group: list Requires Redis 6.2.0
        Specified by:
        blmove in interface ListCommands<K,​V>
        Parameters:
        source - the key
        destination - the key
        positionInSource - the position of the element in the source, LEFT means the first element, RIGHT means the last element.
        positionInDest - the position of the element in the destination, LEFT means the first element, RIGHT means the last element.
        timeout - the operation timeout (in seconds)
        Returns:
        the element being popped from source and pushed to destination. If timeout is reached, a Null reply is returned.
      • blmpop

        public KeyValue<K,​V> blmpop​(Duration timeout,
                                          Position position,
                                          K... keys)
        Description copied from interface: ListCommands
        Execute the command BLMPOP. Summary: Pop elements from a list, or block until one is available Group: list Requires Redis 7.0.0
        Specified by:
        blmpop in interface ListCommands<K,​V>
        Parameters:
        timeout - the operation timeout (in seconds)
        position - whether if the element must be popped from the beginning of the list (LEFT) or from the end (RIGHT)
        keys - the keys from which the element must be popped
        Returns:
        null when no element could be popped, and timeout is reached, otherwise the key/value structure
      • blmpop

        public List<KeyValue<K,​V>> blmpop​(Duration timeout,
                                                Position position,
                                                int count,
                                                K... keys)
        Description copied from interface: ListCommands
        Execute the command BLMPOP. Summary: Pop elements from a list, or block until one is available Group: list Requires Redis 7.0.0
        Specified by:
        blmpop in interface ListCommands<K,​V>
        Parameters:
        timeout - the operation timeout (in seconds)
        position - whether if the element must be popped from the beginning of the list (LEFT) or from the end (RIGHT)
        count - the number of element to pop
        keys - the keys from which the element must be popped
        Returns:
        null when no element could be popped, and timeout is reached, otherwise the list of key/value structures
      • blpop

        public KeyValue<K,​V> blpop​(Duration timeout,
                                         K... keys)
        Description copied from interface: ListCommands
        Execute the command BLPOP. Summary: Remove and get the first element in a list, or block until one is available Group: list Requires Redis 2.0.0
        Specified by:
        blpop in interface ListCommands<K,​V>
        Parameters:
        timeout - the operation timeout (in seconds)
        keys - the keys from which the element must be popped
        Returns:
        A null multi-bulk when no element could be popped and the timeout expired, otherwise the key/value structure.
      • brpop

        public KeyValue<K,​V> brpop​(Duration timeout,
                                         K... keys)
        Description copied from interface: ListCommands
        Execute the command BRPOP. Summary: Remove and get the last element in a list, or block until one is available Group: list Requires Redis 2.0.0
        Specified by:
        brpop in interface ListCommands<K,​V>
        Parameters:
        timeout - the operation timeout (in seconds)
        keys - the keys from which the element must be popped
        Returns:
        A null multi-bulk when no element could be popped and the timeout expired, otherwise the key/value structure.
      • brpoplpush

        public V brpoplpush​(Duration timeout,
                            K source,
                            K destination)
        Description copied from interface: ListCommands
        Execute the command BRPOPLPUSH. Summary: Pop an element from a list, push it to another list and return it; or block until one is available Group: list Requires Redis 2.2.0
        Specified by:
        brpoplpush in interface ListCommands<K,​V>
        Parameters:
        timeout - the timeout, in seconds
        source - the source key
        destination - the detination key
        Returns:
        the element being popped from source and pushed to destination. If timeout is reached, a Null reply is returned.
      • lindex

        public V lindex​(K key,
                        long index)
        Description copied from interface: ListCommands
        Execute the command LINDEX. Summary: Get an element from a list by its index Group: list Requires Redis 1.0.0
        Specified by:
        lindex in interface ListCommands<K,​V>
        Parameters:
        key - the key
        index - the index
        Returns:
        the requested element, or null when index is out of range.
      • linsertBeforePivot

        public long linsertBeforePivot​(K key,
                                       V pivot,
                                       V element)
        Description copied from interface: ListCommands
        Execute the command LINSERT. Summary: Insert an element before another element in a list Group: list Requires Redis 2.2.0
        Specified by:
        linsertBeforePivot in interface ListCommands<K,​V>
        Parameters:
        key - the key
        pivot - the pivot, i.e. the position reference
        element - the element to insert
        Returns:
        the length of the list after the insert operation, or -1 when the value pivot was not found.
      • linsertAfterPivot

        public long linsertAfterPivot​(K key,
                                      V pivot,
                                      V element)
        Description copied from interface: ListCommands
        Execute the command LINSERT. Summary: Insert an element after another element in a list Group: list Requires Redis 2.2.0
        Specified by:
        linsertAfterPivot in interface ListCommands<K,​V>
        Parameters:
        key - the key
        pivot - the pivot, i.e. the position reference
        element - the element to insert
        Returns:
        the length of the list after the insert operation, or -1 when the value pivot was not found.
      • llen

        public long llen​(K key)
        Description copied from interface: ListCommands
        Execute the command LLEN. Summary: Get the length of a list Group: list Requires Redis 1.0.0
        Specified by:
        llen in interface ListCommands<K,​V>
        Parameters:
        key - the key
        Returns:
        the length of the list at key, if the list is empty, 0 is returned.
      • lmove

        public V lmove​(K source,
                       K destination,
                       Position positionInSource,
                       Position positionInDestination)
        Description copied from interface: ListCommands
        Execute the command LMOVE. Summary: Pop an element from a list, push it to another list and return it Group: list Requires Redis 6.2.0
        Specified by:
        lmove in interface ListCommands<K,​V>
        Parameters:
        source - the key
        destination - the key
        positionInSource - the position of the element to pop in the source (LEFT: first element, RIGHT: last element)
        positionInDestination - the position of the element to insert in the destination (LEFT: first element, RIGHT: last element)
        Returns:
        the element being popped and pushed.
      • lmpop

        public KeyValue<K,​V> lmpop​(Position position,
                                         K... keys)
        Description copied from interface: ListCommands
        Execute the command LMPOP. Summary: Pop one element from the first non-empty list Group: list Requires Redis 7.0.0
        Specified by:
        lmpop in interface ListCommands<K,​V>
        Parameters:
        position - the position of the item to pop (LEFT: beginning ot the list, RIGHT: end of the list)
        keys - the keys from which the item will be popped, must not be empty
        Returns:
        A null when no element could be popped. A KeyValue with the key and popped value.
      • lmpop

        public List<KeyValue<K,​V>> lmpop​(Position position,
                                               int count,
                                               K... keys)
        Description copied from interface: ListCommands
        Execute the command LMPOP. Summary: Pop count elements from the first non-empty list Group: list Requires Redis 7.0.0
        Specified by:
        lmpop in interface ListCommands<K,​V>
        Parameters:
        position - the position of the item to pop (LEFT: beginning ot the list, RIGHT: end of the list)
        count - the number of items to pop
        keys - the keys from which the item will be popped, must not be empty
        Returns:
        empty when no element could be popped. A list of KeyValue with at most count items.
      • lpop

        public V lpop​(K key)
        Description copied from interface: ListCommands
        Execute the command LPOP. Summary: Remove and get the first elements in a list Group: list Requires Redis 1.0.0
        Specified by:
        lpop in interface ListCommands<K,​V>
        Parameters:
        key - the key
        Returns:
        the value of the first element, or null when key does not exist.
      • lpop

        public List<V> lpop​(K key,
                            int count)
        Description copied from interface: ListCommands
        Execute the command LPOP. Summary: Remove and get the first elements in a list Group: list Requires Redis 1.0.0
        Specified by:
        lpop in interface ListCommands<K,​V>
        Parameters:
        key - the key
        count - the number of element to pop
        Returns:
        the popped elements (at most count), or empty when key does not exist.
      • lpos

        public OptionalLong lpos​(K key,
                                 V element)
        Description copied from interface: ListCommands
        Execute the command LPOS. Summary: Return the index of matching elements on a list Group: list Requires Redis 6.0.6
        Specified by:
        lpos in interface ListCommands<K,​V>
        Parameters:
        key - the key
        element - the element to find
        Returns:
        The command returns the integer representing the matching element, or empty if there is no match.
      • lpos

        public OptionalLong lpos​(K key,
                                 V element,
                                 LPosArgs args)
        Description copied from interface: ListCommands
        Execute the command LPOS. Summary: Return the index of matching elements on a list Group: list Requires Redis 6.0.6
        Specified by:
        lpos in interface ListCommands<K,​V>
        Parameters:
        key - the key
        element - the element to find
        args - the extra command parameter
        Returns:
        The command returns the integer representing the matching element, or empty if there is no match.
      • lpos

        public List<Long> lpos​(K key,
                               V element,
                               int count)
        Description copied from interface: ListCommands
        Execute the command LPOS. Summary: Return the index of matching elements on a list Group: list Requires Redis 6.0.6
        Specified by:
        lpos in interface ListCommands<K,​V>
        Parameters:
        key - the key
        element - the element to find
        count - the number of occurrence to find
        Returns:
        the list of positions (empty if there are no matches).
      • lpos

        public List<Long> lpos​(K key,
                               V element,
                               int count,
                               LPosArgs args)
        Description copied from interface: ListCommands
        Execute the command LPOS. Summary: Return the index of matching elements on a list Group: list Requires Redis 6.0.6
        Specified by:
        lpos in interface ListCommands<K,​V>
        Parameters:
        key - the key
        element - the element to find
        count - the number of occurrence to find
        Returns:
        the list of positions (empty if there are no matches).
      • lpush

        public long lpush​(K key,
                          V... elements)
        Description copied from interface: ListCommands
        Execute the command LPUSH. Summary: Prepend one or multiple elements to a list Group: list Requires Redis 1.0.0
        Specified by:
        lpush in interface ListCommands<K,​V>
        Parameters:
        key - the key
        elements - the elements to add
        Returns:
        the length of the list after the push operations.
      • lpushx

        public long lpushx​(K key,
                           V... elements)
        Description copied from interface: ListCommands
        Execute the command LPUSHX. Summary: Prepend an element to a list, only if the list exists Group: list Requires Redis 2.2.0
        Specified by:
        lpushx in interface ListCommands<K,​V>
        Parameters:
        key - the key
        elements - the elements to add
        Returns:
        the length of the list after the push operation.
      • lrange

        public List<V> lrange​(K key,
                              long start,
                              long stop)
        Description copied from interface: ListCommands
        Execute the command LRANGE. Summary: Get a range of elements from a list Group: list Requires Redis 1.0.0
        Specified by:
        lrange in interface ListCommands<K,​V>
        Parameters:
        key - the key
        start - the starting position
        stop - the last position
        Returns:
        list of elements in the specified range.
      • lrem

        public long lrem​(K key,
                         long count,
                         V element)
        Description copied from interface: ListCommands
        Execute the command LREM. Summary: Remove elements from a list Group: list Requires Redis 1.0.0
        Specified by:
        lrem in interface ListCommands<K,​V>
        Parameters:
        key - the key
        count - the number of occurence to remove, following the given rules: if count > 0: Remove elements equal to element moving from head to tail. if count < 0: Remove elements equal to element moving from tail to head. if count = 0: Remove all elements equal to element.
        element - the element to remove
        Returns:
        the number of removed elements.
      • lset

        public void lset​(K key,
                         long index,
                         V element)
        Description copied from interface: ListCommands
        Execute the command LSET. Summary: Set the value of an element in a list by its index Group: list Requires Redis 1.0.0
        Specified by:
        lset in interface ListCommands<K,​V>
        Parameters:
        key - the key
        index - the index
        element - the element to insert
      • ltrim

        public void ltrim​(K key,
                          long start,
                          long stop)
        Description copied from interface: ListCommands
        Execute the command LTRIM. Summary: Trim a list to the specified range Group: list Requires Redis 1.0.0
        Specified by:
        ltrim in interface ListCommands<K,​V>
        Parameters:
        key - the key
        start - the starting index
        stop - the last index
      • rpop

        public V rpop​(K key)
        Description copied from interface: ListCommands
        Execute the command RPOP. Summary: Remove and get the last elements in a list Group: list Requires Redis 1.0.0
        Specified by:
        rpop in interface ListCommands<K,​V>
        Parameters:
        key - the key
        Returns:
        the value of the last element, or null when key does not exist.
      • rpop

        public List<V> rpop​(K key,
                            int count)
        Description copied from interface: ListCommands
        Execute the command RPOP. Summary: Remove and get the last elements in a list Group: list Requires Redis 1.0.0
        Specified by:
        rpop in interface ListCommands<K,​V>
        Parameters:
        key - the key
        count - the number of element to pop
        Returns:
        the list of popped elements, or null when key does not exist.
      • rpoplpush

        public V rpoplpush​(K source,
                           K destination)
        Description copied from interface: ListCommands
        Execute the command RPOPLPUSH. Summary: Remove the last element in a list, prepend it to another list and return it Group: list Requires Redis 1.2.0
        Specified by:
        rpoplpush in interface ListCommands<K,​V>
        Parameters:
        source - the key
        destination - the key
        Returns:
        the element being popped and pushed, or null if the source does not exist
      • rpush

        public long rpush​(K key,
                          V... values)
        Description copied from interface: ListCommands
        Execute the command RPUSH. Summary: Append one or multiple elements to a list Group: list Requires Redis 1.0.0
        Specified by:
        rpush in interface ListCommands<K,​V>
        Parameters:
        key - the key
        values - the values to add to the list
        Returns:
        the length of the list after the push operation.
      • rpushx

        public long rpushx​(K key,
                           V... values)
        Description copied from interface: ListCommands
        Execute the command RPUSHX. Summary: Append an element to a list, only if the list exists Group: list Requires Redis 2.2.0
        Specified by:
        rpushx in interface ListCommands<K,​V>
        Parameters:
        key - the key
        values - the values to add to the list
        Returns:
        the length of the list after the push operation.
      • sort

        public List<V> sort​(K key)
        Description copied from interface: ListCommands
        Execute the command SORT. Summary: Sort the elements in a list, set or sorted set Group: generic Requires Redis 1.0.0
        Specified by:
        sort in interface ListCommands<K,​V>
        Returns:
        the list of sorted elements.
      • sort

        public List<V> sort​(K key,
                            SortArgs sortArguments)
        Description copied from interface: ListCommands
        Execute the command SORT. Summary: Sort the elements in a list, set or sorted set Group: generic Requires Redis 1.0.0
        Specified by:
        sort in interface ListCommands<K,​V>
        Parameters:
        key - the key
        sortArguments - the SORT command extra-arguments
        Returns:
        the list of sorted elements.
      • sortAndStore

        public long sortAndStore​(K key,
                                 K destination,
                                 SortArgs sortArguments)
        Description copied from interface: ListCommands
        Execute the command SORT with the STORE option. Summary: Sort the elements in a list, set or sorted set Group: generic Requires Redis 1.0.0
        Specified by:
        sortAndStore in interface ListCommands<K,​V>
        sortArguments - the SORT command extra-arguments
        Returns:
        the number of sorted elements in the destination list.
      • sortAndStore

        public long sortAndStore​(K key,
                                 K destination)
        Description copied from interface: ListCommands
        Execute the command SORT with the STORE option. Summary: Sort the elements in a list, set or sorted set Group: generic Requires Redis 1.0.0
        Specified by:
        sortAndStore in interface ListCommands<K,​V>
        Returns:
        the number of sorted elements in the destination list.