我正在创建一个web应用程序,我必须将所有数据存储在文件(而不是MySQL)中。现在我有几个问题:平面文件中的数据库
- 哪个结构更好/更有效:DOM结构(XML文件)或正常的文本文件(数据将被定义的分隔符分隔)。
- 如果文本文件,我应该使用哪个分隔符?
- 如果我有很多文章,我应该将所有这些文件保存在一个文件中,还是每个文章都有一个文件?
我正在创建一个web应用程序,我必须将所有数据存储在文件(而不是MySQL)中。现在我有几个问题:平面文件中的数据库
以下是关于您的3个子问题的最佳信息。
1)XML文件可让您利用其他工具(如XSLT和XPath)来搜索和处理您的数据。它会以牺牲大小和性能为代价(如果大小可管理,这可能不是什么大不了的事情,如果您想要将新数据添加到后续行而不重新处理旧数据,XML也会给您更大的灵活性(您可以在每一行开头的格式版本号实现这一点,但你的代码可能变得丑陋快)。
2)有什么工作坚持,CSV都很好,大libraries
3)你有两个支持限制在这里考虑。
文件大小)文件的最大大小(取决于文件系统)以及大文件在以后备份或拆分数据时的含义。
文件数量)有一个上限,以文件的数量,你可以有一个文件夹中(同样依赖于文件系统,但也有限制)
我倾向于选择每个资产1个文件。如果您可以将数据拆分为可管理的块,则可以更轻松地解决许多其他问题。同样,根据Mike的回答,当你不需要XSLT或XPath类似的功能时,JSON是一种更好的序列化格式。这很容易推理,更小。
您可能会考虑在文本文件中使用JSON作为序列化,因为它可以让您存储更复杂的数据关系。
这就是说。如果你期望你的系统有任何负载,读写文本文件将会疯狂地缩放。
如果您仅限于使用文件系统SQLite,如其他评论中提到的那样,可能是您最好的选择。
和以前一样...... JSON告诉...
除了复杂的数据,使用JSON你可以使用JavaScript(和它的框架如jQuery或ExtJS的)来处理客户端的数据...什么我认为它的一个大目标
你可以使用[SQLite](http://php.net/sqlite)? – drew010 2012-07-25 22:50:03
没有。我必须使用xml或txt文件 – David 2012-07-25 22:51:06
要保存什么样的数据以及如何使用这些数据? – olovholm 2012-07-25 22:51:34