Redis pub sub max订阅者和发布者

时间:2020-01-23 07:53:32

标签: redis redis-cluster

谁能告诉我Redis pub-sub可以支持的最大并发通道数是多少?订阅者和发布者的数量有上限吗?

2 个答案:

答案 0 :(得分:5)

Redis使用与密钥相同的dict结构来存储每个客户端和所有客户端的频道订阅(保留每个订阅的哈希值以及已订阅的客户端列表),因此最多总共2 ^ 32个频道订阅。

它使用列表来存储每个客户端的模式订阅,因此,理论上仅受可用节点内存的限制。

但是,通常来说,您可以拥有无​​限的渠道。在发布消息时,可以将频道视为标签。消息从不存储。消息发布后,Redis将查找订阅该频道的客户端,并测试每个模式订阅。该通道仅在发布消息时才真正存在。

由于有模式订阅,因此有无限的“逻辑”渠道。

仅在events notifications中,我们就有2 ^ 32 *数据库*关键事件类型可能的“逻辑”通道。

关于订阅者和发布者的数量,受maxclients setting的限制,默认情况下为10,000。订阅者和发布者没有限制,但最大客户端(连接)限制适用。

如@Roman所示,有buffer limitations,但这主要是指吞吐量(消息处理)。

答案 1 :(得分:1)

Pub/Sub客户端的默认硬限制为32兆字节,软限制为每60秒8兆字节。

您一直在寻找什么吗?

documentation