BRPOPLPUSH
Blocking RPOPLPUSH: pop the source tail and push it onto the destination head.
BRPOPLPUSH source destination timeout
Complexity
O(1) to serve
Complexity and compatibility are read out of kevy's implementation, not copied from Redis's reference. Several genuinely differ.
Redis compatibility
Differs
a cross-shard move is not atomic — the element is popped on the source's shard and pushed on the destination's, and between those two steps it is in neither list. Co-locate the keys with a {hashtag} to get Redis's atomic path
See also
BLPOPBRPOPLINDEXLLENLMOVELPOPLPOSLPUSHLRANGELREMLSETLTRIMRPOPRPOPLPUSHRPUSH