2013-08-06 6 views
7

Non sono stato in grado di trovare nella documentazione su come i messaggi in un canale vengono memorizzati in redis publish/subscribe.redis pub esegue la ricerca di messaggi storici persistenti in un canale?

Quando si pubblica su un canale redis, tale messaggio è memorizzato o è persistito? In caso affermativo, per quanto tempo è memorizzato e come si ottengono i messaggi storici?

Altrimenti, sto assumendo che trasmetta semplicemente quel messaggio e cancella/elimina quel messaggio dopo averlo fatto?

risposta

8

I messaggi pub/secondari non vengono accodati e ancor meno persistenti.

Vengono bufferizzati solo nei buffer del socket e inviati immediatamente agli abbonati nella stessa iterazione del ciclo di eventi della pubblicazione.

Se un utente non riesce a leggere un messaggio, questo messaggio viene perso per l'utente.

+0

qualche idea su come salvare questi messaggi? Sto cercando di implementare la funzione chat like –

+1

È possibile memorizzarli in elenchi. Usa LPUSH per memorizzare un oggetto e LPOP o BLPOP per rimuoverlo. Devi implementare il comportamento del pub/sub te stesso. –

+0

oh ok .. Grazie :) –

Problemi correlati