Redis
 sql >> Database >  >> NoSQL >> Redis

Redis pub sub max iscritti ed editori

Redis usa un dict , la stessa struttura delle chiavi, per archiviare le iscrizioni ai canali, sia per client che per tutti i client (mantiene un hash per sottoscrizione con un elenco di client iscritti), quindi è fino a 2^32 iscrizioni ai canali in totale.

Utilizza un elenco per archiviare le sottoscrizioni dei modelli per client, quindi è teoricamente limitato solo dalla memoria del nodo disponibile.

Tuttavia, in generale, puoi avere infiniti canali. Pensa a un canale come a un'etichetta quando viene pubblicato un messaggio. I messaggi non vengono mai archiviati. Quando il messaggio viene pubblicato, Redis cercherà i client iscritti a quel canale e verificherà ogni abbonamento al modello. Il canale esiste davvero solo durante la pubblicazione del messaggio.

Poiché ci sono abbonamenti a pattern, ci sono canali "logici" illimitati.

Solo nelle notifiche di eventi abbiamo 2^32 * database * tipi di eventi chiave possibili canali "logici".

Per quanto riguarda il numero di iscritti e publisher, è limitato da maxclients impostazione, 10.000 per impostazione predefinita. Non ci sono limiti per abbonati ed editori, ma si applica il limite massimo di client (connessioni).

Come indicato da @Roman, ci sono limitazioni del buffer, ma questo si riferisce principalmente al throughput (elaborazione dei messaggi).