如何在小型数据库中保留多个 Lua 表?

我正在编写一个小型独立的 Lua 工具,它使用数个键值对树作为数据存储。我的原型正在使用 Lua 表,它们非常适合我的任务。然而,表条目不断变化和增长。对我来说,这似乎是将所有数据存储在数据库中的很好的理由。

许多较小的工具依赖于 SQLite 数据库,但我认为如果想要存储小到中型 Lua 表,必须有更好的(键值)解决方案。我阅读了关于使用 SQL 存储树的文章,但乍一看似乎很复杂。

是否有一种简单的解决方案来在数据库中存储和检索 Lua 表,也许还附带查询语言?

数据库仍然很小,应该是持久的,不需要处理并行查询。性能也不是问题,该工具仅支持单用户。我更喜欢基于磁盘/文件的数据库。理想情况下,对数据库的更新(查询/脚本)应该在版本控制下

起初,我考虑了 (G)dbm 作为可能候选人(请参阅 这里),但我不知道是否有一种简单而又“可编程”的方式来修改和创建新条目(正如我们可以使用 SQL 语句一样)。

我想避免如 MongoDB 或 Neo4j 等完整的/基于服务器的解决方案,因为它们对于我手头的任务来说太过臃肿。

点赞
用户107090
用户107090

我的lgdbm绑定包含一个针对gdbm数据库的表代理。换句话说,您可以通过读写Lua表中的条目来简单地与gdbm数据库交互。

为了保持简单,lgdbm仅使用字符串键和值,但可以根据需要修改以处理其他类型。

2016-04-03 21:11:21