2013-08-06 14 views
7

Nie mogłem znaleźć w dokumentacji, w jaki sposób wiadomości w kanale są przechowywane w redis, publikuj/subskrybuj.czy redis pub publikuje historyczne wiadomości w kanale?

Czy po opublikowaniu na kanale redis wiadomość jest przechowywana lub utrwalana? Jeśli tak, jak długo jest przechowywany i jak otrzymujesz historyczne wiadomości?

W przeciwnym razie, zakładam, że to po prostu rozgłasza tę wiadomość i po tym usunięciu/usunięciu tej wiadomości?

Odpowiedz

8

Komunikaty pub/sub nie są umieszczane w kolejce, a jeszcze mniej trwają.

Są buforowane tylko w buforach gniazd i natychmiast wysyłane do subskrybentów w tej samej iteracji pętli zdarzeń, co publikacja.

Jeśli abonent nie odczyta wiadomości, ten komunikat zostanie utracony dla subskrybenta.

+0

jakikolwiek pomysł na zapisanie tych wiadomości? Próbuję zaimplementować funkcję podobną do czatu –

+1

Można przechowywać je na listach. Użyj LPUSH do przechowywania elementu, a LPOP lub BLPOP do jego usunięcia. Musisz sam zaimplementować zachowanie pub/sub. –

+0

oh ok .. Dziękuję :) –

Powiązane problemy