Подписчики и издатели Redis pub sub max - PullRequest
1 голос
/ 23 января 2020

Может кто-нибудь сказать мне, какое максимальное количество одновременных каналов может поддерживать Redis pub-sub ?. Есть ли ограничение по количеству подписчиков и издателей

Ответы [ 2 ]

2 голосов
/ 23 января 2020

Redis использует dict, ту же структуру, что и для ключей, для хранения подписок на каналы, как для клиента, так и для всех клиентов (для каждой подписки хранится га sh со списком подписанных клиентов), поэтому он работает до 2 ^ 32 каналов подписки в общей сложности.

В нем используется список для хранения подписок шаблонов для каждого клиента, поэтому теоретически он ограничен только доступной памятью узла.

Однако, как правило, вы можете иметь бесконечные каналы. Думайте о канале как о ярлыке при публикации сообщения. Сообщения никогда не сохраняются. Когда сообщение публикуется, Redis будет искать клиентов, подписанных на этот канал, и проверять каждую подписку шаблона. Канал действительно существует только во время публикации сообщения.

Поскольку существуют шаблоны подписок, существует неограниченное количество «логических» каналов.

Только в уведомлениях о событиях у нас есть 2 ^ 32 * базы данных * ключевые типы возможных событий 'логические ' каналы.

Что касается количества подписчиков и издателей, оно ограничено параметром maxclients , по умолчанию 10 000. Нет никаких ограничений для подписчиков и издателей, но применяется максимальное ограничение клиентов (соединений).

Как указано @Roman, существуют ограничения буфера , но это относится в основном к пропускной способности (сообщение обработка). * * тысяча двадцать-один

0 голосов
/ 23 января 2020

Pub/Sub клиенты имеют жесткое ограничение по умолчанию 32 мегабайта и мягкое ограничение 8 мегабайт на 60 секунд.

Это то, что вы искали?

документация

...