gpt4 book ai didi

c - 使用独立于 Unix 发行版的数据库/索引顺序文件

转载 作者:太空宇宙 更新时间:2023-11-04 06:44:37 24 4
gpt4 key购买 nike

我打算做的是a) 为匹配正则表达式的某些行解析文件b) 将匹配项存储在某种数据库/文件中,这样我就不必一次又一次地进行解析c) 调用另一个程序将匹配项作为参数传递

虽然我可以想象如何做 a) 和 c),但我对 b) 有点不确定。匹配的形式是

key:attribute1:attribute2:attribute3

其中属性 2 可能是可选的。我正在考虑将结果存储在一个简单的数据库中,但问题是数据库需要在许多 Unix 平台上可用才能使程序运行。有没有可以在任何 Unix 平台上找到的(简单的)数据库?或者我应该使用某种索引顺序文件吗?

最佳答案

如果您不需要 SQL,请查看 *DBM 系列工具。 Sleepycat(现在是 Oracle 的一部分)有 BerkeleyDB; GNU 有 GDBM。您还可以找到 NDBM。谨慎使用普通 DBM;谣言(至少)说它有很多问题。

这些都是提供基于键和任意关联数据的散列查找的系统,这正是您似乎正在使用的。

请注意,散列查找非常适合寻找“正是这个键”,但对于“这个值和那个值之间的所有键”来说就很糟糕。如果您需要进行后面的查询,请仔细查看所提供的索引方案:这些包中可能有您需要的,或者您最好还是看看其他东西 - 带有 B-Tree 的索引顺序访问机制 (ISAM)或类似的支持。不过,*DBM 包相当普遍(因为相当多的系统只需要精确的值查找)。例如,它们用于诸如邮件别名文件之类的东西(您确实在其中确实对特定别名的扩展进行了精确查找)。

关于c - 使用独立于 Unix 发行版的数据库/索引顺序文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2509211/

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