sql >> Base de Datos >  >> NoSQL >> Redis

Preguntas sobre Redis, Node.js y Socket.io

Entonces, cada "usuario" debe tener su propio cliente redis dentro del evento de conexión. ¿Estoy en lo correcto?

En realidad, no lo eres :)

Lo que pasa es que node.js es muy diferente, por ejemplo, a PHP. node.js no genera procesos secundarios en conexiones nuevas, que es una de las razones principales por las que puede manejar fácilmente grandes cantidades de conexiones simultáneas, incluidas conexiones de larga duración (Comet, Websockets, etc.). node.js procesa eventos secuencialmente usando una cola de eventos dentro de un solo proceso. Si desea utilizar varios procesos para aprovechar los servidores multinúcleo o varios servidores, tendrá que hacerlo manualmente (sin embargo, cómo hacerlo está más allá del alcance de esta pregunta).

Por lo tanto, es una estrategia perfectamente válida usar una sola conexión Redis (o MySQL) para atender a una gran cantidad de clientes. Esto evita la sobrecarga de instanciar y finalizar una conexión de base de datos para cada solicitud de cliente.