Interface ReactiveListCommands<K,​V>

  • Type Parameters:
    K - the type of the key
    V - the type of the value stored in the lists
    All Superinterfaces:
    ReactiveRedisCommands
    All Known Implementing Classes:
    ReactiveListCommandsImpl

    public interface ReactiveListCommands<K,​V>
    extends ReactiveRedisCommands
    Allows executing commands from the list group. See the list command list for further information about these commands.

    A list is a bag of members of type V. Unlike set, you can have duplicated, and unlike sorted set, the members are not sorted.

    • Method Detail

      • blmove

        io.smallrye.mutiny.Uni<V> blmove​(K source,
                                         K destination,
                                         Position positionInSource,
                                         Position positionInDest,
                                         Duration timeout)
        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
        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

        io.smallrye.mutiny.Uni<KeyValue<K,​V>> blmpop​(Duration timeout,
                                                           Position position,
                                                           K... keys)
        Execute the command BLMPOP. Summary: Pop elements from a list, or block until one is available Group: list Requires Redis 7.0.0
        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

        io.smallrye.mutiny.Uni<List<KeyValue<K,​V>>> blmpop​(Duration timeout,
                                                                 Position position,
                                                                 int count,
                                                                 K... keys)
        Execute the command BLMPOP. Summary: Pop elements from a list, or block until one is available Group: list Requires Redis 7.0.0
        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

        io.smallrye.mutiny.Uni<KeyValue<K,​V>> blpop​(Duration timeout,
                                                          K... keys)
        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
        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

        io.smallrye.mutiny.Uni<KeyValue<K,​V>> brpop​(Duration timeout,
                                                          K... keys)
        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
        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

        @Deprecated
        io.smallrye.mutiny.Uni<V> brpoplpush​(Duration timeout,
                                             K source,
                                             K destination)
        Deprecated.
        See https://redis.io/commands/brpoplpush
        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
        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

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

        io.smallrye.mutiny.Uni<Long> linsertBeforePivot​(K key,
                                                        V pivot,
                                                        V element)
        Execute the command LINSERT. Summary: Insert an element before another element in a list Group: list Requires Redis 2.2.0
        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

        io.smallrye.mutiny.Uni<Long> linsertAfterPivot​(K key,
                                                       V pivot,
                                                       V element)
        Execute the command LINSERT. Summary: Insert an element after another element in a list Group: list Requires Redis 2.2.0
        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

        io.smallrye.mutiny.Uni<Long> llen​(K key)
        Execute the command LLEN. Summary: Get the length of a list Group: list Requires Redis 1.0.0
        Parameters:
        key - the key
        Returns:
        the length of the list at key, if the list is empty, 0 is returned.
      • lmove

        io.smallrye.mutiny.Uni<V> lmove​(K source,
                                        K destination,
                                        Position positionInSource,
                                        Position positionInDestination)
        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
        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

        io.smallrye.mutiny.Uni<KeyValue<K,​V>> lmpop​(Position position,
                                                          K... keys)
        Execute the command LMPOP. Summary: Pop one element from the first non-empty list Group: list Requires Redis 7.0.0
        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

        io.smallrye.mutiny.Uni<List<KeyValue<K,​V>>> lmpop​(Position position,
                                                                int count,
                                                                K... keys)
        Execute the command LMPOP. Summary: Pop count elements from the first non-empty list Group: list Requires Redis 7.0.0
        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:
        A empty when no element could be popped. A list of KeyValue with at most count items.
      • lpop

        io.smallrye.mutiny.Uni<V> lpop​(K key)
        Execute the command LPOP. Summary: Remove and get the first elements in a list Group: list Requires Redis 1.0.0
        Parameters:
        key - the key
        Returns:
        the value of the first element, or null when key does not exist.
      • lpop

        io.smallrye.mutiny.Uni<List<V>> lpop​(K key,
                                             int count)
        Execute the command LPOP. Summary: Remove and get the first elements in a list Group: list Requires Redis 1.0.0
        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

        io.smallrye.mutiny.Uni<Long> lpos​(K key,
                                          V element)
        Execute the command LPOS. Summary: Return the index of matching elements on a list Group: list Requires Redis 6.0.6
        Parameters:
        key - the key
        element - the element to find
        Returns:
        The command returns the integer representing the matching element, or null if there is no match.
      • lpos

        io.smallrye.mutiny.Uni<Long> lpos​(K key,
                                          V element,
                                          LPosArgs args)
        Execute the command LPOS. Summary: Return the index of matching elements on a list Group: list Requires Redis 6.0.6
        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 null if there is no match.
      • lpos

        io.smallrye.mutiny.Uni<List<Long>> lpos​(K key,
                                                V element,
                                                int count)
        Execute the command LPOS. Summary: Return the index of matching elements on a list Group: list Requires Redis 6.0.6
        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

        io.smallrye.mutiny.Uni<List<Long>> lpos​(K key,
                                                V element,
                                                int count,
                                                LPosArgs args)
        Execute the command LPOS. Summary: Return the index of matching elements on a list Group: list Requires Redis 6.0.6
        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

        io.smallrye.mutiny.Uni<Long> lpush​(K key,
                                           V... elements)
        Execute the command LPUSH. Summary: Prepend one or multiple elements to a list Group: list Requires Redis 1.0.0
        Parameters:
        key - the key
        elements - the elements to add
        Returns:
        the length of the list after the push operations.
      • lpushx

        io.smallrye.mutiny.Uni<Long> lpushx​(K key,
                                            V... elements)
        Execute the command LPUSHX. Summary: Prepend an element to a list, only if the list exists Group: list Requires Redis 2.2.0
        Parameters:
        key - the key
        elements - the elements to add
        Returns:
        the length of the list after the push operation.
      • lrange

        io.smallrye.mutiny.Uni<List<V>> lrange​(K key,
                                               long start,
                                               long stop)
        Execute the command LRANGE. Summary: Get a range of elements from a list Group: list Requires Redis 1.0.0
        Parameters:
        key - the key
        start - the starting position
        stop - the last position
        Returns:
        list of elements in the specified range.
      • lrem

        io.smallrye.mutiny.Uni<Long> lrem​(K key,
                                          long count,
                                          V element)
        Execute the command LREM. Summary: Remove elements from a list Group: list Requires Redis 1.0.0
        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

        io.smallrye.mutiny.Uni<Void> lset​(K key,
                                          long index,
                                          V element)
        Execute the command LSET. Summary: Set the value of an element in a list by its index Group: list Requires Redis 1.0.0
        Parameters:
        key - the key
        index - the index
        element - the element to insert
        Returns:
        a Uni producing null on success, a failure otherwise
      • ltrim

        io.smallrye.mutiny.Uni<Void> ltrim​(K key,
                                           long start,
                                           long stop)
        Execute the command LTRIM. Summary: Trim a list to the specified range Group: list Requires Redis 1.0.0
        Parameters:
        key - the key
        start - the starting index
        stop - the last index
        Returns:
        a Uni producing null on success, a failure otherwise
      • rpop

        io.smallrye.mutiny.Uni<V> rpop​(K key)
        Execute the command RPOP. Summary: Remove and get the last elements in a list Group: list Requires Redis 1.0.0
        Parameters:
        key - the key
        Returns:
        the value of the last element, or null when key does not exist.
      • rpop

        io.smallrye.mutiny.Uni<List<V>> rpop​(K key,
                                             int count)
        Execute the command RPOP. Summary: Remove and get the last elements in a list Group: list Requires Redis 1.0.0
        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

        @Deprecated
        io.smallrye.mutiny.Uni<V> rpoplpush​(K source,
                                            K destination)
        Deprecated.
        See https://redis.io/commands/rpoplpush
        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
        Parameters:
        source - the key
        destination - the key
        Returns:
        the element being popped and pushed, or null if the source does not exist
      • rpush

        io.smallrye.mutiny.Uni<Long> rpush​(K key,
                                           V... values)
        Execute the command RPUSH. Summary: Append one or multiple elements to a list Group: list Requires Redis 1.0.0
        Parameters:
        key - the key
        values - the values to add to the list
        Returns:
        the length of the list after the push operation.
      • rpushx

        io.smallrye.mutiny.Uni<Long> rpushx​(K key,
                                            V... values)
        Execute the command RPUSHX. Summary: Append an element to a list, only if the list exists Group: list Requires Redis 2.2.0
        Parameters:
        key - the key
        values - the values to add to the list
        Returns:
        the length of the list after the push operation.
      • sort

        io.smallrye.mutiny.Uni<List<V>> sort​(K key)
        Execute the command SORT. Summary: Sort the elements in a list, set or sorted set Group: generic Requires Redis 1.0.0
        Returns:
        the list of sorted elements.
      • sort

        io.smallrye.mutiny.Uni<List<V>> sort​(K key,
                                             SortArgs sortArguments)
        Execute the command SORT. Summary: Sort the elements in a list, set or sorted set Group: generic Requires Redis 1.0.0
        Parameters:
        key - the key
        sortArguments - the SORT command extra-arguments
        Returns:
        the list of sorted elements.
      • sortAndStore

        io.smallrye.mutiny.Uni<Long> sortAndStore​(K key,
                                                  K destination,
                                                  SortArgs sortArguments)
        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
        Parameters:
        sortArguments - the SORT command extra-arguments
        Returns:
        the number of sorted elements in the destination list.
      • sortAndStore

        io.smallrye.mutiny.Uni<Long> sortAndStore​(K key,
                                                  K destination)
        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
        Returns:
        the number of sorted elements in the destination list.