socket.io ist ein Kommunikationspaket, das es einem Client und Server ermöglicht, eine lange laufende Verbindung zu haben, bei der beide die anderen Nachrichten jederzeit senden können. Es gibt eine Vielzahl von Gründen für die Verwendung einer socket.io-Verbindung anstelle von HTTP-Anforderungen. Die wichtigste ist jedoch, dass der Server bei einer durchgehenden Verbindung zwischen Client und Server jederzeit Daten an den Client "pushen" kann ohne darauf zu warten, dass der Kunde es anfordert. Dies ist sehr nützlich, um sofort Benachrichtigungen über etwas zu erhalten, das auf dem Server passiert ist.
Redis ist eine schnelle Datenbank, die Daten normalerweise im Speicher und nicht auf der Festplatte speichert. Daher wird sie normalerweise für temporäre Daten verwendet, die nicht permanent gespeichert werden müssen.
Es gibt einen Adapter für socket.io, der redis verwendet, wenn Sie socket.io in einer Cluster- oder Multi-Server-Umgebung verwenden möchten. Wenn Sie dann Daten über seine socket.io-Verbindung an "Bob" senden möchten, ist es der socket.io-Adapter, der die redis-Datenbank verwendet, die darüber informiert, mit welchem Server "Bob" verbunden ist und wie Daten an ihn gesendet werden .
Redis hat viele andere Anwendungen neben nur mit socket.io verwendet werden. Was ich gesehen habe, ist eine Hauptverwendung von redis, wenn Sie mehrere Serverprozesse haben (entweder auf demselben Host oder auf verschiedenen Hosts), die alle einen schnellen Zugriff auf irgendeine Art von "Status" -Information wünschen. Im obigen Fall von socket.io ist dieser Status "Welcher Server ist Bob gerade verbunden?". In anderen Fällen kann es sich um ein Clientsitzungsobjekt oder um andere Statusinformationen wie diesen oder einen anderen Status handeln, auf den alle Server zugreifen möchten.
Das klärt die Dinge auf. Danke! Ich nehme deine Antwort an. –