gpt4 book ai didi

c++ - 在 C++ 中动态处理发布到 Redis 的 channel

转载 作者:IT王子 更新时间:2023-10-29 06:07:26 24 4
gpt4 key购买 nike

我有 2 个应用程序(一个用 JavaScript 编写的 GUI,另一个用 C++ 编写)需要相互通信。

C++ 应用程序(服务器)包含多个实时传感器数据,它必须将这些数据流式传输到 GUI(客户端)。数据被缓冲并作为一个大块发送。 GUI 只是呈现数据,并不在本地缓冲数据(当前库呈现相对较慢)。

我们想在每个 channel 都是一个传感器的地方使用 Redis。在客户端,用户可以选择必须流式传输哪个传感器。这需要让服务器以某种方式知道要发布到哪些 channel 。

现在的问题更多是关于性能和可扩展性。哪种情况最好?

  1. 发布所有传感器数据。 +-30 个传感器,数据最大为 64 位。每个多达 10,000 个样本以高达 50hz 的速度流式传输。 (这绝对是一切的最大化,但确实给出了一个大概)。
  2. 将 channel 名称作为 JSON 对象或命名空间键存储在 Redis 中。监听服务器端的set 事件,获取 channel 并缓存它们并动态发布到 channel 。
  3. 与上面相同,但在每个循环中从 Redis 中获取 channel ,而不监听任何set 事件。
  4. 使用 configuration channel ,客户端在更改时发布配置(通过 JSON 字符串)。服务器端我们订阅配置 channel 并适本地处理新 channel 。
  5. 其他。请详细说明。

最佳答案

尝试使用redis streams最近发布的 redis 5.0 的功能。如果您正在寻找支持 redis 流的高性能 C++ 库,请尝试使用 bredis ,例如。

关于c++ - 在 C++ 中动态处理发布到 Redis 的 channel ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47858586/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com