Valkey/Redis pub sub 最大订阅者和发布者

问题描述 投票:0回答:2

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

redis redis-cluster valkey
2个回答
12
投票

Valkey/Redis 使用

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

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

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

由于存在模式订阅,因此存在无限的“逻辑”通道。

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

关于订阅者和发布者的数量,受到

maxclients
设置的限制,默认10,000。订阅者和发布者没有限制,但有最大客户端(连接)限制。

正如@Roman 所指出的,存在缓冲区限制,但这主要指的是吞吐量(消息处理)。


1
投票

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

这就是您一直在寻找的吗?

文档

© www.soinside.com 2019 - 2024. All rights reserved.