Redis BLMOVE Command Explained

In Redis, the BLMOVE command is the blocking variant of LMOVE.

When the specified list contains elements, it atomically returns and removes either the first or last element of the given source list, and pushes the element at either the first or last element of the specified destination list. Whether it’s the first or last element depends on the arguments passed to the command.

Continue reading

Redis LMOVE Command Explained

In Redis, the LMOVE command atomically returns and removes either the first or last element of the given source list, and pushes the element at either the first or last element of the specified destination list.

Whether it’s the first or last element depends on the arguments passed to the command.

The LMOVE command can be used in place of the RPOPLPUSH command, which has been deprecated since Redis 6.2.0.

Continue reading

Redis BLMPOP Command Explained

In Redis, the BLMPOP command is the blocking variant of LMPOP.

Just like the LMPOP command, BLMPOP pops one or more elements from the first non-empty list key from the list of provided key names. However, unlike LMPOP, if all lists are empty, BLMPOP blocks the connection until another client pushes to it or until the timeout (a double value specifying the maximum number of seconds to block) elapses.

Continue reading

Redis BRPOP Command Explained

In Redis, the BRPOP command is the blocking variant of the RPOP command. It blocks the connection when there are no elements to pop from any of the given lists.

The way the command works is that an element is popped from the tail of the first list that is non-empty, with the given keys being checked in the order that they are given. When there are no elements to pop from any of the lists, it blocks the connection.

Continue reading