gpt4 book ai didi

linux - 寻找网络可访问的哈希表

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:40:54 24 4
gpt4 key购买 nike

我有一个数据采集应用程序,分为客户端和服务器。

服务器负责从硬件中获取数据,运行一些实时分析,并在需要时将数据记录到磁盘。

客户端 是一个 GUI,运算符(operator)可以使用它来查看一些漂亮的图形(由服务器生成)、设置一些参数以及打开和关闭记录。它通常与服务器在同一台机器上运行,但也可以从网络上的任何其他机器上运行。

两者都是用 Qt (C++) 编写的。两者都在 Linux 上使用。

两者之间的通信目前是通过一个本质上是哈希表的本地库(在 C++ 中,而不是在 Qt 中)完成的。服务器有一个参数列表,例如analysis.graph.width,这些参数可以由服务器和客户端设置获取 (s).

系统正在重新设计以支持新硬件,如果存在更好的东西,现在是替换这个库的好时机。以下是一些要求:

  • 理想情况下可以很好地与 Qt 配合使用(使用 QVariant 来存储值,使用信号/槽)
  • 必须允许值是多种不同的类型(整数、字符串、 double 、 bool 值、这些类型的列表)
  • 键将是字符串
  • 速度必须很快,允许设置/获取操作最多每秒 30 次
  • 必须允许多个客户端同时设置/获取参数

我找到了这个列表:http://en.wikipedia.org/wiki/Structured_storage ,但那里列出的库似乎太复杂(分布式、镜像)或不够实用(值只能是字符串)。

有人知道满足部分或全部要求的库吗?

最佳答案

好吧,Dave,我曾使用 Redis 来解决同样的问题。它不满足您的所有要求,但满足

  1. 必须允许多个值不同的类型(整数、字符串、 double , bool ,这些的列表)
  2. 键将是字符串
  3. 必须快,允许设置/获取每秒操作高达 30 次
  4. 必须允许多个客户同时设置/获取参数

您可以使用c/c++ api与redis通信。 How to use Redis within a C++ program? ... 是的,您必须将数据类型从一种转换为另一种,例如将 char* 转换为 QString 等。

关于linux - 寻找网络可访问的哈希表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3935893/

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