Redis neuchovává zprávy v paměti v kontextu Pub/Sub, jak můžete vidět v implementaci (x):
- zpráva je odeslána klientům, kteří pro daný kanál naslouchají (pokud existují),
- zpráva je odeslána klientům, kteří poslouchají odpovídající kanály (pokud existují).
Potom Redis jednoduše vrátí, kolik klientů zprávu obdrželo (je třeba mít na paměti, že klient může jednu zprávu obdržet vícekrát, např. pokud se shoduje více vzorů).
Pokud není přihlášen žádný klient, Redis jednoduše vrátí 0 a zpráva se nezaznamená/neuloží do vyrovnávací paměti:
> publish foo test
(integer) 0
(x) v podstatě Redis prochází seznam přihlášených klientů a odešle odpověď se zprávou.