4

我是 PHP 新手,但一般不会编程。我想存储一些从 Web 服务中检索到的数据,但我不认为我需要一个数据库。首先,数据会更新得非常频繁,而且它的大小总是小于 1MB。在 Apache 上的 PHP 中最好、快速但有效的方法是什么?注意:我使用的是托管服务提供商,所以我不喜欢自定义安装。也许,单身?谢谢

4

7 回答 7

4

使用数据库。否则,您将被困在序列化文件中。但要做到这一点,您需要实现并发控制。

节省时间和精力并使用数据库。

于 2011-02-25T17:39:12.080 回答
1

我认为问题变成了,数据将存储多长时间?如果您要存储数据直到它被替换或超过单个用户会话,我个人认为数据库是理想的解决方案 - 它旨在快速更改和检索数据非常有效。

如果数据只保留给单个用户会话,您可以使用 PHP 会话将数据存储为数组。

另一种选择是将数据存储在文件中。但是,这在检索少量数据时效率可能会低得多。

于 2011-02-25T17:40:08.630 回答
0

尝试使用平面文件。如果您不需要进行任何花哨的查找,那就是。

于 2011-02-25T17:38:48.243 回答
0

数据库的明显替代方案是文件存储。PHP可以读写好的旧磁盘文件;参见 fopen()、fread()、fwrite() 和一些。您需要在服务器上为文件指定一个文件夹(除了 public_html 空间),并提出命名方案和数据格式。

于 2011-02-25T17:39:51.500 回答
0

您可以使用云服务(亚马逊、谷歌...)。但除了让你的应用程序更复杂、更脆弱以及让你自己更时髦之外,我认为使用普通数据库或平面文件没有任何好处。

于 2011-02-25T17:40:54.000 回答
0

您可以使用serialize将数组保存在纯文本文件中。

就像是

$fh = fopen("db.txt", "w");
fwrite($fh, serialize(array("field"=>"data"));
fclose($fh);

使用 fread 和 mode "r" 然后使用 method 再次检索它unserialize

$fh = fopen("db.txt", "r");
$data = unserialize(fread($fh));
fclose($fh);

然后管理数组中的数据。

于 2011-02-25T17:41:09.740 回答
0

您可以将数据存储在 xml 文件中,并使用 simplexml 加载数据并对其进行管理,例如:

$xml = simplexml_load_file("test.xml");

然后你可以有一个你定义的节点列表并做你的事情。如需进一步参考,您可以查看以下内容:

SimpleXML 教程

于 2011-02-25T17:46:51.970 回答