io.quarkus.redis.datasource.list.TransactionalListCommands Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of quarkus-redis-client Show documentation
Show all versions of quarkus-redis-client Show documentation
Connect to Redis in either imperative or reactive style
package io.quarkus.redis.datasource.list;
import java.time.Duration;
import io.quarkus.redis.datasource.TransactionalRedisCommands;
public interface TransactionalListCommands extends TransactionalRedisCommands {
/**
* 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
*
* @param source the key
* @param destination the key
* @param positionInSource the position of the element in the source, {@code LEFT} means the first element, {@code RIGHT}
* means the last element.
* @param positionInDest the position of the element in the destination, {@code LEFT} means the first element, {@code RIGHT}
* means the last element.
* @param timeout the operation timeout (in seconds)
*/
void blmove(K source, K destination, Position positionInSource, Position positionInDest, Duration timeout);
/**
* Execute the command BLMPOP.
* Summary: Pop elements from a list, or block until one is available
* Group: list
* Requires Redis 7.0.0
*
* @param timeout the operation timeout (in seconds)
* @param position whether if the element must be popped from the beginning of the list ({@code LEFT}) or from the end
* ({@code RIGHT})
* @param keys the keys from which the element must be popped
*/
void 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
*
* @param timeout the operation timeout (in seconds)
* @param position whether if the element must be popped from the beginning of the list ({@code LEFT}) or from the end
* ({@code RIGHT})
* @param count the number of element to pop
* @param keys the keys from which the element must be popped
*/
void blmpop(Duration timeout, Position position, int count, 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
*
* @param timeout the operation timeout (in seconds)
* @param keys the keys from which the element must be popped
*/
void blpop(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
*
* @param timeout the operation timeout (in seconds)
* @param keys the keys from which the element must be popped
*/
void brpop(Duration timeout, K... keys);
/**
* 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
*
* @param timeout the timeout, in seconds
* @param source the source key
* @param destination the detination key
* @deprecated See https://redis.io/commands/brpoplpush
*/
@Deprecated
void brpoplpush(Duration timeout, K source, K destination);
/**
* Execute the command LINDEX.
* Summary: Get an element from a list by its index
* Group: list
* Requires Redis 1.0.0
*
* @param key the key
* @param index the index
*/
void lindex(K key, long index);
/**
* Execute the command LINSERT.
* Summary: Insert an element before another element in a list
* Group: list
* Requires Redis 2.2.0
*
* @param key the key
* @param pivot the pivot, i.e. the position reference
* @param element the element to insert
*/
void linsertBeforePivot(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
*
* @param key the key
* @param pivot the pivot, i.e. the position reference
* @param element the element to insert
*/
void linsertAfterPivot(K key, V pivot, V element);
/**
* Execute the command LLEN.
* Summary: Get the length of a list
* Group: list
* Requires Redis 1.0.0
*
* @param key the key
*/
void llen(K key);
/**
* 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
*
* @param source the key
* @param destination the key
* @param positionInSource the position of the element to pop in the source (LEFT: first element, RIGHT: last element)
* @param positionInDestination the position of the element to insert in the destination (LEFT: first element, RIGHT: last
* element)
*/
void lmove(K source, K destination, Position positionInSource, Position positionInDestination);
/**
* Execute the command LMPOP.
* Summary: Pop one element from the first non-empty list
* Group: list
* Requires Redis 7.0.0
*
* @param position the position of the item to pop (LEFT: beginning ot the list, RIGHT: end of the list)
* @param keys the keys from which the item will be popped, must not be empty
*/
void lmpop(Position position, K... keys);
/**
* Execute the command LMPOP.
* Summary: Pop {@code count} elements from the first non-empty list
* Group: list
* Requires Redis 7.0.0
*
* @param position the position of the item to pop (LEFT: beginning ot the list, RIGHT: end of the list)
* @param count the number of items to pop
* @param keys the keys from which the item will be popped, must not be empty
*/
void lmpop(Position position, int count, K... keys);
/**
* Execute the command LPOP.
* Summary: Remove and get the first elements in a list
* Group: list
* Requires Redis 1.0.0
*
* @param key the key
*/
void lpop(K key);
/**
* Execute the command LPOP.
* Summary: Remove and get the first elements in a list
* Group: list
* Requires Redis 1.0.0
*
* @param key the key
* @param count the number of element to pop
*/
void lpop(K key, int count);
/**
* Execute the command LPOS.
* Summary: Return the index of matching elements on a list
* Group: list
* Requires Redis 6.0.6
*
* @param key the key
* @param element the element to find
*/
void 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
*
* @param key the key
* @param element the element to find
* @param args the extra command parameter
*/
void 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
*
* @param key the key
* @param element the element to find
* @param count the number of occurrence to find
*/
void 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
*
* @param key the key
* @param element the element to find
* @param count the number of occurrence to find
*/
void lpos(K key, V element, int count, LPosArgs args);
/**
* Execute the command LPUSH.
* Summary: Prepend one or multiple elements to a list
* Group: list
* Requires Redis 1.0.0
*
* @param key the key
* @param elements the elements to add
*/
void lpush(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
*
* @param key the key
* @param elements the elements to add
*/
void lpushx(K key, V... elements);
/**
* Execute the command LRANGE.
* Summary: Get a range of elements from a list
* Group: list
* Requires Redis 1.0.0
*
* @param key the key
* @param start the starting position
* @param stop the last position
*/
void lrange(K key, long start, long stop);
/**
* Execute the command LREM.
* Summary: Remove elements from a list
* Group: list
* Requires Redis 1.0.0
*
* @param key the key
* @param 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.
* @param element the element to remove
*/
void lrem(K key, long count, 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
*
* @param key the key
* @param index the index
* @param element the element to insert
*/
void lset(K key, long index, V element);
/**
* Execute the command LTRIM.
* Summary: Trim a list to the specified range
* Group: list
* Requires Redis 1.0.0
*
* @param key the key
* @param start the starting index
* @param stop the last index
*/
void ltrim(K key, long start, long stop);
/**
* Execute the command RPOP.
* Summary: Remove and get the last elements in a list
* Group: list
* Requires Redis 1.0.0
*
* @param key the key
*/
void rpop(K key);
/**
* Execute the command RPOP.
* Summary: Remove and get the last elements in a list
* Group: list
* Requires Redis 1.0.0
*
* @param key the key
* @param count the number of element to pop
*/
void rpop(K key, int count);
/**
* 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
*
* @param source the key
* @param destination the key
* @deprecated See https://redis.io/commands/rpoplpush
*/
@Deprecated
void rpoplpush(K source, K destination);
/**
* Execute the command RPUSH.
* Summary: Append one or multiple elements to a list
* Group: list
* Requires Redis 1.0.0
*
* @param key the key
* @param values the values to add to the list
*/
void rpush(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
*
* @param key the key
* @param values the values to add to the list
*/
void rpushx(K key, V... values);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy