Redis menggunakan dict
, struct yang sama seperti untuk kunci, untuk menyimpan langganan saluran, baik per klien dan untuk semua klien (menyimpan hash per-langganan dengan daftar klien yang berlangganan), sehingga total langganan saluran mencapai 2^32.
Ini menggunakan daftar untuk menyimpan langganan pola per klien, sehingga secara teoritis hanya dibatasi oleh memori node yang tersedia.
Namun, secara umum, Anda dapat memiliki saluran tanpa batas. Pikirkan saluran sebagai label saat pesan diterbitkan. Pesan tidak pernah disimpan. Saat pesan diterbitkan, Redis akan mencari klien yang berlangganan saluran itu, dan menguji setiap pola langganan. Saluran benar-benar ada hanya saat pesan sedang dipublikasikan.
Karena ada pola langganan, ada saluran 'logis' yang tidak terbatas.
Hanya dalam pemberitahuan acara, kami memiliki 2^32 * basis data * jenis acara utama yang memungkinkan saluran 'logis'.
Mengenai jumlah pelanggan dan penerbit, dibatasi oleh maxclients
pengaturan, 10.000 secara default. Tidak ada batasan untuk pelanggan dan penerbit, tetapi batas maksimum klien (koneksi) berlaku.
Seperti yang ditunjukkan oleh @Roman, ada batasan buffer, tetapi ini sebagian besar mengacu pada throughput (pemrosesan pesan).