Yaml 到数据库
Yaml to database
对于我的 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++ 程序,我使用 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 中。