【问题标题】:Redis How Many Streams Can XADD subscribe to?Redis XADD 可以订阅多少个流?
【发布时间】:2020-06-27 05:05:16
【问题描述】:

我正计划创建一个应用程序,它将数据的消防水带分成多个客户可以订阅的主题。

通过一些挖掘,Redis 似乎可以在单个节点上支持数千个流,但对于我的应用程序,客户端可能需要订阅许多流(例如 5000 个)。

XADD 命令可以订阅的流数量是否有限制,这对服务器/客户端性能有什么影响?

如果这很重要,我将使用 Node 作为客户端。

【问题讨论】:

标签: node.js redis


【解决方案1】:

我认为没有特定的限制 - 您可能会在 Redis 中的任何内容之前达到客户端库中的字符串编码限制。

就实际运行具有 5,000 个键的 XREAD 而言,这可能是个坏主意。 XREAD 要求单个操作中的所有键都驻留在同一个节点/分片上,因此这样做不会获得集群的好处。

【讨论】:

  • 假设这是一个坏主意,那么发出 5,000 个单独的 XADD 请求会更好吗?
  • @NickLong 运行 5k 条命令对 Redis 来说没什么大不了的。但是,如果您使用XREAD...BLOCK,则会产生另一个副作用 - 这意味着您需要 5,000 个连接,这不是很好。最好的解决方案是使用关键标签并将您的XREADs 组合在一起。所以也许你有 10x 500 键 XREADs
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-30
  • 1970-01-01
  • 2020-10-29
  • 1970-01-01
  • 1970-01-01
  • 2016-04-18
相关资源
最近更新 更多