Teamchatt och supportchatt
Meddelanden sprids till varje server som håller en medlems anslutning, och strömmen ger nykomlingar eftersläpningen.
Sprid meddelanden till varje ansluten klient i realtid, med shardade kanaler för kluster och strömmar för historik.
Varje WebSocket-server prenumererar på de rum som dess anslutna användare befinner sig i.
En animerad genomgång med riktiga HotKV-kommandon och exempelsvar. Klicka på valfritt steg för att hoppa dit. Kommandon och svar förblir på engelska, precis som du skriver och ser dem i HotKV.
Ett chattrum eller ett livenotisflöde måste nå varje ansluten användare samtidigt, över många WebSocket-servrar. Att polla en databas är för långsamt och för dyrt, och servrarna behöver ett gemensamt sätt att tala om för varandra att något har hänt.
Varje WebSocket-server prenumererar på de kanaler som dess användare bryr sig om. När något händer når en enda PUBLISH varje prenumererande server, som vidarebefordrar den till sina användare. Shardade kanaler håller trafiken på den nod som äger kanalen i ett kluster, och en ström bredvid varje rum behåller historiken för användare som ansluter senare.
Varje WebSocket-server prenumererar på de rum som dess anslutna användare befinner sig i.
SUBSCRIBE room:42Hennes server publicerar en gång. Svaret anger hur många prenumeranter som tog emot det.
PUBLISH room:42 "{\"from\":\"alice\",\"text\":\"Deploy is green\"}"Meddelandet läggs också till i rummets ström, begränsad till de senaste 1000 meddelandena.
XADD room:42:history MAXLEN ~ 1000 * from alice text "Deploy is green"Han läser de senaste 50 meddelandena från strömmen och går sedan live på kanalen.
XREVRANGE room:42:history + - COUNT 50I klusterläge håller SPUBLISH kvar meddelandet på den nod som äger kanalen.
SPUBLISH room:{42}:typing "alice"Meddelanden sprids till varje server som håller en medlems anslutning, och strömmen ger nykomlingar eftersläpningen.
Orderuppdateringar, omnämnanden och varningar skickas till webbläsaren i samma stund som de sker.
Markörpositioner och skrivindikatorer sänds på kortlivade kanaler.
En publicering når varje prenumerant.
PUBLISHSUBSCRIBEPrenumerera på room:* för att få varje rum.
PSUBSCRIBEKanaler stannar på den nod som äger dem i ett kluster.
SPUBLISHSSUBSCRIBEPara ihop en kanal med en begränsad ström för meddelanden som användare missat.
XADDXREVRANGENej. Pub/sub levererar till den som prenumererar i det ögonblicket. Använd en ström bredvid kanalen om användare behöver historik.
Ja. Använd shardad pub/sub (SPUBLISH, SSUBSCRIBE) så att varje kanals trafik stannar på den nod som äger den.
Ja. Nyckelrymdsnotiser publicerar händelser för nyckeländringar. Se dokumentationen om nyckelrymdsnotiser.
HotKV talar Redis-protokollet, så du kan peka en befintlig klient mot det och köra samma kommandon.