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

Redis pub sub max suscriptores y editores

Redis usa un dict , misma estructura que para las claves, para almacenar suscripciones de canales, tanto por cliente como para todos los clientes (mantiene un hash por suscripción con una lista de clientes suscritos), por lo que es hasta 2^32 suscripciones de canales en total.

Utiliza una lista para almacenar suscripciones de patrones por cliente, por lo que teóricamente está limitado solo por la memoria de nodo disponible.

Sin embargo, en general, puedes tener infinitos canales. Piense en un canal como una etiqueta cuando se publica un mensaje. Los mensajes nunca se almacenan. Cuando se publique el mensaje, Redis buscará los clientes suscritos a ese canal y probará cada patrón de suscripción. El canal realmente existe solo mientras se publica el mensaje.

Como hay suscripciones de patrones, hay canales 'lógicos' ilimitados.

Solo en las notificaciones de eventos tenemos 2^32 * bases de datos * tipos de eventos clave posibles canales 'lógicos'.

En cuanto al número de suscriptores y editores, está limitado por el maxclients configuración, 10.000 por defecto. No hay limitación para suscriptores y editores, pero se aplica el límite máximo de clientes (conexiones).

Como lo indica @Roman, existen limitaciones de búfer, pero esto se refiere principalmente al rendimiento (procesamiento de mensajes).