Learn R Programming

rredis (version 1.7.0)

redisRPopLPush: Remove the tail from a list, pushing to another.

Description

Atomically return and remove the last (tail) element of the src list, and push the element as the first (head) element of the dst list.

Usage

redisRPopLPush(src, dest, ...)

Arguments

src
A key corresponding to the source list.
dest
A key corresponding to the destination list.
...
Optional additional arguments. Specify raw=TRUE to skip de-serialization of the data.

Value

The value moved or rotated across lists, or NULL if the source key does not exist or corresponds to an empty list. An error is thrown if either of the keys does not correspond to a value of 'list' type.

Details

Atomically return and remove the last (tail) element of the src list, and push the element as the first (head) element of the dst list. For example if the source list contains the elements "a","b","c" and the destination list contains the elements "foo","bar" after a redisRPopLPush command the content of the two lists will be "a","b" and "c","foo","bar".

If the key does not exist or the list is already empty the special value NULL is returned. If the srckey and dstkey are the same the operation is equivalent to removing the last element from the list and pusing it as first element of the list, so it's a "list rotation" command.

See the Redis reference below for programming examples and discussion.

References

http://redis.io/commands

See Also

redisLPush

Examples

Run this code
## Not run: 
# redisConnect()
# redisLPush('x',1)
# redisLPush('x',2)
# redisLPush('x',3)
# redisRPopLPush('x','x')
# redisRPopLPush('x','x')
# ## End(Not run)

Run the code above in your browser using DataLab