Om du använder BLPOP enbart för att ta bort ett meddelande från kön, och din meddelandekonsument misslyckas med att bearbeta det, måste meddelandet ställas i kö igen, så att det inte försvinner för alltid tillsammans med den misslyckade konsumenten.
För mer hållbar meddelandebehandling måste en lista över meddelanden som bearbetas upprätthållas så att de kan återställas i kö i händelse av fel.
[B]RPOPLPUSH är perfekt för detta scenario; det kan atomiskt poppa ett meddelande från meddelandekön och skjuta det till en bearbetningskö så att applikationen kan svara i händelse av ett fel hos konsumenten.
http://redis.io/commands/rpoplpush
Den faktiska återköandet lämnas till applikationen, men detta redis-kommando ger grunden för att göra det.
Det finns också några drop-in-place implementeringar av köer som använder redis som flyter runt på webben, som RestMQ [ http://www.restmq.com/ ]