Interface RedisListCommands
- All Known Subinterfaces:
DefaultedRedisClusterConnection,DefaultedRedisConnection,RedisClusterConnection,RedisCommands,RedisConnection,RedisConnectionUtils.RedisConnectionProxy,StringRedisConnection
- All Known Implementing Classes:
AbstractRedisConnection,DefaultStringRedisConnection,JedisClusterConnection,JedisConnection,LettuceClusterConnection,LettuceConnection
public interface RedisListCommands
List-specific commands supported by Redis.
- Author:
- Costin Leau, Christoph Strobl, Mark Paluch, dengliming
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic enumList move direction.static enumList insertion position. -
Method Summary
Modifier and TypeMethodDescriptionbyte[]bLMove(byte[] sourceKey, byte[] destinationKey, RedisListCommands.Direction from, RedisListCommands.Direction to, double 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.List<byte[]>bLPop(int timeout, byte[]... keys) Removes and returns first element from lists stored atkeys.List<byte[]>bRPop(int timeout, byte[]... keys) Removes and returns last element from lists stored atkeys.byte[]bRPopLPush(int timeout, byte[] srcKey, byte[] dstKey) Remove the last element from list atsrcKey, append it todstKeyand return its value.byte[]lIndex(byte[] key, long index) Get element atindexform list atkey.lInsert(byte[] key, RedisListCommands.Position where, byte[] pivot, byte[] value) InsertvalueRedisListCommands.Position.BEFOREorRedisListCommands.Position.AFTERexistingpivotforkey.lLen(byte[] key) Get the size of list stored atkey.byte[]lMove(byte[] sourceKey, byte[] destinationKey, RedisListCommands.Direction from, RedisListCommands.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.byte[]lPop(byte[] key) Removes and returns first element in list stored atkey.List<byte[]>lPop(byte[] key, long count) Removes and returns first elements in list stored atkey.default LonglPos(byte[] key, byte[] element) Returns the index of matching elements inside the list stored at given key.Returns the index of matching elements inside the list stored at given key.lPush(byte[] key, byte[]... values) Prependvaluestokey.lPushX(byte[] key, byte[] value) Prependvaluestokeyonly if the list exists.List<byte[]>lRange(byte[] key, long start, long end) Get elements betweenstartandendfrom list atkey.lRem(byte[] key, long count, byte[] value) Removes the firstcountoccurrences ofvaluefrom the list stored atkey.voidlSet(byte[] key, long index, byte[] value) Set thevaluelist element atindex.voidlTrim(byte[] key, long start, long end) Trim list atkeyto elements betweenstartandend.byte[]rPop(byte[] key) Removes and returns last element in list stored atkey.List<byte[]>rPop(byte[] key, long count) Removes and returns last elements in list stored atkey.byte[]rPopLPush(byte[] srcKey, byte[] dstKey) Remove the last element from list atsrcKey, append it todstKeyand return its value.rPush(byte[] key, byte[]... values) Appendvaluestokey.rPushX(byte[] key, byte[] value) Appendvaluestokeyonly if the list exists.
-
Method Details
-
rPush
Appendvaluestokey.- Parameters:
key- must not be null.values- must not be empty.- Returns:
- null when used in pipeline / transaction.
- See Also:
-
lPos
Returns the index of matching elements inside the list stored at given key.
Requires Redis 6.0.6 or newer.- Parameters:
key- must not be null.element- must not be null.- Returns:
- null when used in pipeline / transaction.
- Since:
- 2.4
- See Also:
-
lPos
@Nullable List<Long> lPos(byte[] key, byte[] element, @Nullable Integer rank, @Nullable Integer count) Returns the index of matching elements inside the list stored at given key.
Requires Redis 6.0.6 or newer.- Parameters:
key- must not be null.element- must not be null.rank- specifies the "rank" of the first element to return, in case there are multiple matches. A rank of 1 means to return the first match, 2 to return the second match, and so forth.count- number of matches to return.- Returns:
- null when used in pipeline / transaction.
- Since:
- 2.4
- See Also:
-
lPush
Prependvaluestokey.- Parameters:
key- must not be null.values- must not be empty.- Returns:
- null when used in pipeline / transaction.
- See Also:
-
rPushX
Appendvaluestokeyonly if the list exists.- Parameters:
key- must not be null.value- must not be null.- Returns:
- null when used in pipeline / transaction.
- See Also:
-
lPushX
Prependvaluestokeyonly if the list exists.- Parameters:
key- must not be null.value- must not be null.- Returns:
- null when used in pipeline / transaction.
- See Also:
-
lLen
Get the size of list stored atkey.- Parameters:
key- must not be null.- Returns:
- null when used in pipeline / transaction.
- See Also:
-
lRange
Get elements betweenstartandendfrom list atkey.- Parameters:
key- must not be null.start-end-- Returns:
- empty
Listif key does not exists or range does not contain values. null when used in pipeline / transaction. - See Also:
-
lTrim
void lTrim(byte[] key, long start, long end) Trim list atkeyto elements betweenstartandend.- Parameters:
key- must not be null.start-end-- See Also:
-
lIndex
Get element atindexform list atkey.- Parameters:
key- must not be null.index- zero based index value. Use negative number to designate elements starting at the tail.- Returns:
- null when index is out of range or when used in pipeline / transaction.
- See Also:
-
lInsert
InsertvalueRedisListCommands.Position.BEFOREorRedisListCommands.Position.AFTERexistingpivotforkey.- Parameters:
key- must not be null.where- must not be null.pivot- must not be null.value- must not be null.- Returns:
- null when used in pipeline / transaction.
- See Also:
-
lMove
@Nullable byte[] lMove(byte[] sourceKey, byte[] destinationKey, RedisListCommands.Direction from, RedisListCommands.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.destinationKey- must not be null.from- must not be null.to- must not be null.- Returns:
- null when used in pipeline / transaction.
- Since:
- 2.6
- See Also:
-
bLMove
@Nullable byte[] bLMove(byte[] sourceKey, byte[] destinationKey, RedisListCommands.Direction from, RedisListCommands.Direction to, double 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.destinationKey- must not be null.from- must not be null.to- must not be null.timeout-- Returns:
- null when used in pipeline / transaction.
- Since:
- 2.6
- See Also:
-
lSet
void lSet(byte[] key, long index, byte[] value) Set thevaluelist element atindex.- Parameters:
key- must not be null.index-value-- See Also:
-
lRem
Removes the firstcountoccurrences ofvaluefrom the list stored atkey.- Parameters:
key- must not be null.count-value-- Returns:
- null when used in pipeline / transaction.
- See Also:
-
lPop
Removes and returns first element in list stored atkey.- Parameters:
key- must not be null.- Returns:
- null when key does not exist or used in pipeline / transaction.
- See Also:
-
lPop
Removes and returns first elements in list stored atkey.- Parameters:
key- must not be null.count-- Returns:
- null when key does not exist or used in pipeline / transaction.
- Since:
- 2.6
- See Also:
-
rPop
Removes and returns last element in list stored atkey.- Parameters:
key- must not be null.- Returns:
- null when key does not exist or used in pipeline / transaction.
- See Also:
-
rPop
Removes and returns last elements in list stored atkey.- Parameters:
key- must not be null.count-- Returns:
- null when key does not exist or used in pipeline / transaction.
- Since:
- 2.6
- See Also:
-
bLPop
Removes and returns first element from lists stored atkeys.
Blocks connection until element available ortimeoutreached.- Parameters:
timeout- seconds to block.keys- must not be null.- Returns:
- empty
Listwhen no element could be popped and the timeout was reached. null when used in pipeline / transaction. - See Also:
-
bRPop
Removes and returns last element from lists stored atkeys.
Blocks connection until element available ortimeoutreached.- Parameters:
timeout- seconds to block.keys- must not be null.- Returns:
- empty
Listwhen no element could be popped and the timeout was reached. null when used in pipeline / transaction. - See Also:
-
rPopLPush
Remove the last element from list atsrcKey, append it todstKeyand return its value.- Parameters:
srcKey- must not be null.dstKey- must not be null.- Returns:
- can be null.
- See Also:
-
bRPopLPush
Remove the last element from list atsrcKey, append it todstKeyand return its value.
Blocks connection until element available ortimeoutreached.- Parameters:
timeout- seconds to block.srcKey- must not be null.dstKey- must not be null.- Returns:
- can be null.
- See Also:
-