Redis
 sql >> Baza danych >  >> NoSQL >> Redis

Kolejka zadań z redis przy użyciu BLPOP

Jeśli używasz samego BLPOP do usunięcia wiadomości z kolejki, a klient wiadomości nie może jej przetworzyć, wiadomość będzie musiała zostać ponownie umieszczona w kolejce, aby nie zniknęła na zawsze wraz z uszkodzonym konsumentem.

Aby zapewnić trwalsze przetwarzanie komunikatów, należy zachować listę przetwarzanych komunikatów, aby w przypadku niepowodzenia można je było umieścić w kolejce.

[B] RPOPLPUSH jest idealny do tego scenariusza; może niepodzielnie usunąć komunikat z kolejki komunikatów i umieścić go w kolejce przetwarzania, aby aplikacja mogła odpowiedzieć w przypadku awarii po stronie konsumenta.

http://redis.io/commands/rpoplpush

Rzeczywiste ponowne kolejkowanie jest pozostawione aplikacji, ale to polecenie redis zapewnia podstawy do tego.

Istnieją również implementacje kolejek typu drop-in-place wykorzystujące redis pływające w sieci, takie jak RestMQ [ http://www.restmq.com/ ]




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Wiele kluczy wskazujących na pojedynczą wartość w Redis (pamięć podręczna) za pomocą java

  2. Skrypt próbował utworzyć zmienną globalną

  3. Dlaczego klucze Redis nie wygasają?

  4. Jak działa ServiceStack Redis w pobieraniu danych?

  5. Dlaczego nie mogę uruchomić skryptu lua w redis po ponownym uruchomieniu redis?