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 Details

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