我正在创建一个网络应用程序,我必须将所有数据存储在文件中(而不是 MySQL)。现在我有几个问题:
- 哪种结构更好/更有效:DOM 结构(XML 文件)或普通文本文件(数据将由定义的分隔符分隔)。
- 如果是文本文件,我应该使用哪些分隔符?
- 如果我有很多文章,我应该将所有这些都保存在一个文件中,还是每篇文章一个文件?
这是我掌握的关于您的 3 个子问题的最佳信息。
1) XML 文件将允许您利用 XSLT 和 XPath 等其他工具来搜索和操作您的数据。它将以牺牲大小和性能为代价(如果大小是可管理的,这可能没什么大不了的。如果您想将新数据添加到后续行而不是重新处理旧数据(您可以在每行的开头使用格式版本号来实现这一点,但您的代码可能会很快变得丑陋)。
2) 坚持有效,CSV 得到了很好的库的支持
3)你有两个限制在这里考虑。
文件大小)文件的最大大小(取决于文件系统)以及大文件对以后备份或拆分数据的影响。
文件数量)一个文件夹中可以拥有的文件数量有上限(同样取决于文件系统,但有限制)
我倾向于每个资产 1 个文件。如果可以将数据拆分为可管理的块,则可以更轻松地解决许多其他问题。同样与 Mike 的回答一致,当您不需要 XSLT 或 XPath 之类的能力时,JSON 是一种更好的序列化形式。这很容易推理并且更小。
您可以考虑使用 JSON 作为文本文件中的序列化,因为它允许您存储更复杂的数据关系。
话虽如此。如果您希望您的系统有任何类型的负载,那么读取和写入文本文件将是疯狂的扩展。
如果您仅限于使用其他评论中提到的文件系统 SQLite 可能是您最好的选择。
如前所述... JSON ...
除了复杂的数据,使用 JSON,您还可以使用 javascript(及其框架,如 jquery 或 extjs )来处理客户端的数据......在我看来这是一个大目标