Interface ReactiveListOperations<K,V>
public interface ReactiveListOperations<K,V>
Reactive Redis operations for List Commands.
Streams of methods returning Mono<K> or Flux<M> are terminated with
InvalidDataAccessApiUsageException when
RedisElementReader.read(ByteBuffer) returns null for a
particular element as Reactive Streams prohibit the usage of null values.
- Since:
- 2.0
- Author:
- Mark Paluch, Christoph Strobl, John Blum
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionreactor.core.publisher.Mono<Boolean>Removes the given key.reactor.core.publisher.Mono<V>Get element atindexfrom list atkey.reactor.core.publisher.Mono<Long>Returns the index of the first occurrence of the specified value in the list at atkey.reactor.core.publisher.Mono<Long>lastIndexOf(K key, V value) Returns the index of the last occurrence of the specified value in the list at atkey.reactor.core.publisher.Mono<V>Removes and returns first element in list stored atkey.reactor.core.publisher.Flux<V>Removescountelements from the left-side of the Redis list stored at key.reactor.core.publisher.Mono<V>Removes and returns first element from lists stored atkey.reactor.core.publisher.Mono<Long>Prependvaluetokey.reactor.core.publisher.Mono<Long>Insertvaluetokeybeforepivot.reactor.core.publisher.Mono<Long>leftPushAll(K key, Collection<V> values) Prependvaluestokey.reactor.core.publisher.Mono<Long>leftPushAll(K key, V... values) Prependvaluestokey.reactor.core.publisher.Mono<Long>leftPushIfPresent(K key, V value) Prependvaluestokeyonly if the list exists.reactor.core.publisher.Mono<V>move(K sourceKey, ReactiveListCommands.Direction from, K destinationKey, ReactiveListCommands.Direction to) Atomically returns and removes the first/last element (head/tail depending on thefromargument) of the list stored atsourceKey, and pushes the element at the first/last element (head/tail depending on thetoargument) of the list stored atdestinationKey.reactor.core.publisher.Mono<V>move(K sourceKey, ReactiveListCommands.Direction from, K destinationKey, ReactiveListCommands.Direction to, Duration timeout) Atomically returns and removes the first/last element (head/tail depending on thefromargument) of the list stored atsourceKey, and pushes the element at the first/last element (head/tail depending on thetoargument) of the list stored atdestinationKey.default reactor.core.publisher.Mono<V>move(ListOperations.MoveFrom<K> from, ListOperations.MoveTo<K> to) Atomically returns and removes the first/last element (head/tail depending on thefromargument) of the list stored atsourceKey, and pushes the element at the first/last element (head/tail depending on thetoargument) of the list stored atdestinationKey.default reactor.core.publisher.Mono<V>move(ListOperations.MoveFrom<K> from, ListOperations.MoveTo<K> to, Duration timeout) Atomically returns and removes the first/last element (head/tail depending on thefromargument) of the list stored atsourceKey, and pushes the element at the first/last element (head/tail depending on thetoargument) of the list stored atdestinationKey.reactor.core.publisher.Flux<V>Get elements betweenbeginandendfrom list atkey.reactor.core.publisher.Mono<Long>Removes the firstcountoccurrences ofvaluefrom the list stored atkey.reactor.core.publisher.Mono<V>Removes and returns last element in list stored atkey.reactor.core.publisher.Flux<V>Removescountelements from the right-side of the Redis list stored at key.reactor.core.publisher.Mono<V>Removes and returns last element from lists stored atkey.reactor.core.publisher.Mono<V>rightPopAndLeftPush(K sourceKey, K destinationKey) Remove the last element from list atsourceKey, append it todestinationKeyand return its value.reactor.core.publisher.Mono<V>rightPopAndLeftPush(K sourceKey, K destinationKey, Duration timeout) Remove the last element from list atsrcKey, append it todstKeyand return its value.
Results return once an element available ortimeoutreached.reactor.core.publisher.Mono<Long>Appendvaluetokey.reactor.core.publisher.Mono<Long>Insertvaluetokeyafterpivot.reactor.core.publisher.Mono<Long>rightPushAll(K key, Collection<V> values) Appendvaluestokey.reactor.core.publisher.Mono<Long>rightPushAll(K key, V... values) Appendvaluestokey.reactor.core.publisher.Mono<Long>rightPushIfPresent(K key, V value) Appendvaluestokeyonly if the list exists.reactor.core.publisher.Mono<Boolean>Set thevaluelist element atindex.reactor.core.publisher.Mono<Long>Get the size of list stored atkey.reactor.core.publisher.Mono<Boolean>Trim list atkeyto elements betweenstartandend.
-
Method Details
-
range
Get elements betweenbeginandendfrom list atkey.- Parameters:
key- must not be null.start-end-- Returns:
- See Also:
-
trim
Trim list atkeyto elements betweenstartandend.- Parameters:
key- must not be null.start-end-- See Also:
-
size
Get the size of list stored atkey.- Parameters:
key- must not be null.- Returns:
- See Also:
-
leftPush
Prependvaluetokey.- Parameters:
key- must not be null.value-- Returns:
- See Also:
-
leftPushAll
Prependvaluestokey.- Parameters:
key- must not be null.values-- Returns:
- See Also:
-
leftPushAll
Prependvaluestokey.- Parameters:
key- must not be null.values- must not be null.- Returns:
- Since:
- 1.5
- See Also:
-
leftPushIfPresent
Prependvaluestokeyonly if the list exists.- Parameters:
key- must not be null.value-- Returns:
- See Also:
-
leftPush
Insertvaluetokeybeforepivot.- Parameters:
key- must not be null.pivot- must not be null.value-- Returns:
- See Also:
-
rightPush
Appendvaluetokey.- Parameters:
key- must not be null.value-- Returns:
- See Also:
-
rightPushAll
Appendvaluestokey.- Parameters:
key- must not be null.values-- Returns:
- See Also:
-
rightPushAll
Appendvaluestokey.- Parameters:
key- must not be null.values-- Returns:
- Since:
- 1.5
- See Also:
-
rightPushIfPresent
Appendvaluestokeyonly if the list exists.- Parameters:
key- must not be null.value-- Returns:
- See Also:
-
rightPush
Insertvaluetokeyafterpivot.- Parameters:
key- must not be null.pivot- must not be null.value-- Returns:
- See Also:
-
move
default reactor.core.publisher.Mono<V> move(ListOperations.MoveFrom<K> from, ListOperations.MoveTo<K> to) Atomically returns and removes the first/last element (head/tail depending on thefromargument) of the list stored atsourceKey, and pushes the element at the first/last element (head/tail depending on thetoargument) of the list stored atdestinationKey.- Parameters:
from- must not be null.to- must not be null.- Returns:
- Since:
- 2.6
- See Also:
-
move
reactor.core.publisher.Mono<V> move(K sourceKey, ReactiveListCommands.Direction from, K destinationKey, ReactiveListCommands.Direction to) Atomically returns and removes the first/last element (head/tail depending on thefromargument) of the list stored atsourceKey, and pushes the element at the first/last element (head/tail depending on thetoargument) of the list stored atdestinationKey.- Parameters:
sourceKey- must not be null.from- must not be null.destinationKey- must not be null.to- must not be null.- Returns:
- Since:
- 2.6
- See Also:
-
move
default reactor.core.publisher.Mono<V> move(ListOperations.MoveFrom<K> from, ListOperations.MoveTo<K> to, Duration timeout) Atomically returns and removes the first/last element (head/tail depending on thefromargument) of the list stored atsourceKey, and pushes the element at the first/last element (head/tail depending on thetoargument) of the list stored atdestinationKey.Blocks connection until element available or
timeoutreached.- Parameters:
from- must not be null.to- must not be null.timeout-- Returns:
- Since:
- 2.6
- See Also:
-
move
reactor.core.publisher.Mono<V> move(K sourceKey, ReactiveListCommands.Direction from, K destinationKey, ReactiveListCommands.Direction to, Duration timeout) Atomically returns and removes the first/last element (head/tail depending on thefromargument) of the list stored atsourceKey, and pushes the element at the first/last element (head/tail depending on thetoargument) of the list stored atdestinationKey.Blocks connection until element available or
timeoutreached.- Parameters:
sourceKey- must not be null.from- must not be null.destinationKey- must not be null.to- must not be null.timeout-- Returns:
- null when used in pipeline / transaction.
- Since:
- 2.6
- See Also:
-
set
Set thevaluelist element atindex.- Parameters:
key- must not be null.index-value-- See Also:
-
remove
Removes the firstcountoccurrences ofvaluefrom the list stored atkey.- Parameters:
key- must not be null.count-value-- Returns:
- See Also:
-
index
Get element atindexfrom list atkey.- Parameters:
key- must not be null.index-- Returns:
- See Also:
-
indexOf
Returns the index of the first occurrence of the specified value in the list at atkey.
Requires Redis 6.0.6 or newer.- Parameters:
key- must not be null.value- must not be null.- Returns:
- Since:
- 2.4
- See Also:
-
lastIndexOf
Returns the index of the last occurrence of the specified value in the list at atkey.
Requires Redis 6.0.6 or newer.- Parameters:
key- must not be null.value- must not be null.- Returns:
- Since:
- 2.4
- See Also:
-
leftPop
Removes and returns first element in list stored atkey.- Parameters:
key- must not be null.- Returns:
- See Also:
-
leftPop
Removescountelements from the left-side of the Redis list stored at key.- Parameters:
key- must not be null.count-countof the number of elements to remove from the left-side of the Redis list.- Returns:
- a
Fluxcontaining the elements removed from the Redis list. - Since:
- 3.2
- See Also:
-
leftPop
Removes and returns first element from lists stored atkey.
Results return once an element available ortimeoutreached.- Parameters:
key- must not be null.timeout- maximal duration to wait until an entry in the list atkeyis available. Must be eitherDuration.ZEROor greater {@link 1 second}, must not be null. A timeout of zero can be used to wait indefinitely. Durations between zero and one second are not supported.- Returns:
- See Also:
-
rightPop
Removes and returns last element in list stored atkey.- Parameters:
key- must not be null.- Returns:
- See Also:
-
rightPop
Removescountelements from the right-side of the Redis list stored at key.- Parameters:
key- must not be null.count-countof the number of elements to remove from the right-side of the Redis list.- Returns:
- a
Fluxcontaining the elements removed from the Redis list. - Since:
- 3.2
- See Also:
-
rightPop
Removes and returns last element from lists stored atkey.
Results return once an element available ortimeoutreached.- Parameters:
key- must not be null.timeout- maximal duration to wait until an entry in the list atkeyis available. Must be eitherDuration.ZEROor greater {@link 1 second}, must not be null. A timeout of zero can be used to wait indefinitely. Durations between zero and one second are not supported.- Returns:
- See Also:
-
rightPopAndLeftPush
Remove the last element from list atsourceKey, append it todestinationKeyand return its value.- Parameters:
sourceKey- must not be null.destinationKey- must not be null.- Returns:
- See Also:
-
rightPopAndLeftPush
Remove the last element from list atsrcKey, append it todstKeyand return its value.
Results return once an element available ortimeoutreached.- Parameters:
sourceKey- must not be null.destinationKey- must not be null.timeout- maximal duration to wait until an entry in the list atsourceKeyis available. Must be eitherDuration.ZEROor greater {@link 1 second}, must not be null. A timeout of zero can be used to wait indefinitely. Durations between zero and one second are not supported.- Returns:
- See Also:
-
delete
Removes the given key.- Parameters:
key- must not be null.
-