c++ - Yaml 到数据库

标签 c++ sql database yaml yaml-cpp

对于我的 C++ 程序,我使用 jobs.yml,其中包含有关 yaml 格式的作业的信息,例如:

141647523:
  JobType: Turbo
  LocalJobID: 16773779.0
  Status: Done
  SystemPriority: 0.0
  UserPriority: 8.0

然后我使用 yaml-cpp用于解析文件并将作业转换为 C++ Job 对象的库。由于 jobs.yml (~900Mb) 的大小很大,我无法在程序开始时立即读取所有文件并将其存储在 RAM 中。

我怎样才能克服这个障碍? 我想我应该将 jobs.yml 转换为数据库并在程序中通过 sql 请求获取所需的数据?这种情况我该怎么办?

或者也许有更简单的解决方案?

最佳答案

yaml-cpp 有一个基于事件的 API。只需派生自 YAML::EventHandler 并使用 YAML::Parser.HandleNextDocument。然后在您的事件处理程序中逐一处理事件。这应该可以避免将整个文件加载到 RAM 中。

关于c++ - Yaml 到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42859942/

相关文章:

c++ - NDEBUG 预处理器宏用于(在不同平台上)是什么?

c++ - 'setResizeMode' 中没有名为 'QHeaderView' 的成员 - 将 Qt 4.7 转换为 Qt 5.8

c++ - 如何正确使用opencv在图像上使用傅里叶变换对?

c++ - cocos2d-x如何重复一个NPOT图像

sql - OVER ORDER BY 中的多个列

sql - 限制表只有一行

SQL 语句不工作

database - Codeigniter,事务中的错误跟踪

php - 如何摆脱 � 使用 php

java - Netezza 流式处理结果集