【问题标题】:Is there a persistency layer for list/queue containers?列表/队列容器是否有持久层?
【发布时间】:2022-01-23 04:14:14
【问题描述】:

是否有某种持久层可用于存储字符串的定期修改列表/队列容器?


列表中的数据只是字符串,没什么花哨的。但是,为每个字符串存储一个键或散列以进行明确的引用可能很有用,所以我想我应该用一个额外的键字段将每个字符串包装在一个结构中。

应该在每次修改时或多或少地保存持久性,因为可能会发生自发断电。


我研究了 Boost::Serialisation,它似乎很容易使用,但我想每次修改它以关闭文件并确保关机安全时我都必须编写整个队列,因为我没有看到日志选项在那里。

我看到了 SQLite,但它可能是最重要的,因为我不需要关系或任何复杂的查询。

而且我不想在某些文件中手动重新发明轮子。

有什么值得研究的吗?

我对 C++ 和下面的操作系统的经验很少,所以我不知道什么是可用的,什么是合适的。也找不到更好的了。

【问题讨论】:

  • 请注意,队列有点棘手,因为它仅本机支持访问最前面的元素(就像栈仅本机允许访问顶部元素一样)。它确实提供了对包装容器的访问,但是您不再使用纯队列。
  • 我可能需要双端队列功能,所以我对任何灵活的列表类型都很满意:)

标签: c++ linux containers persistence


【解决方案1】:

当您不需要这些关系时,可能更简单的关系数据库替代品是“nosql”数据库。根据描述,面向文档的数据库可能是一个合理的选择。

【讨论】:

    猜你喜欢
    • 2012-12-01
    • 1970-01-01
    • 2017-06-28
    • 2011-07-29
    • 2011-02-21
    • 2015-11-21
    • 2023-04-05
    • 2013-08-25
    • 1970-01-01
    相关资源
    最近更新 更多