4

私はPHPは初めてですが、一般的にプログラミングはしていません。Web サービスから取得したデータを保存したいのですが、そのためのデータベースは必要ないと思います。まず、データは非常に頻繁に更新され、そのサイズは常に 1MB 未満です。Apache上のPHPで、高速かつ効率的な最善のアプローチは何ですか? 注: 私はホスティング プロバイダーを使用しているため、カスタム インストールは好みません。おそらく、シングルトン?ありがとう

4

7 に答える 7

4

データベースを使用します。そうしないと、ファイルのシリアル化に行き詰まります。ただし、これを正しく行うには、同時実行制御を実装する必要があります。

時間とエネルギーを節約し、データベースを使用してください。

于 2011-02-25T17:39:12.080 に答える
1

問題は、データがどのくらいの期間保存されるかということになると思います。データが置き換えられるまで、または単一のユーザー セッションよりも長くデータを保存している場合、個人的にはデータベースが理想的なソリューションであると考えています。データベースは、データをすばやく変更および取得することで非常に効率的になるように設計されています。

データが 1 つのユーザー セッションに対してのみ保持される場合は、PHP セッションを使用してデータを配列として格納できます。

もう 1 つの方法は、データをファイルに保存することです。ただし、少量のデータを取得する場合、これは効率が大幅に低下する可能性があります。

于 2011-02-25T17:40:08.630 に答える
0

クラウド サービス (Amazon、Google ...) を使用できます。しかし、アプリをより複雑で壊れやすくし、自分自身をよりヒップにすることを除けば、通常のデータベースやフラット ファイルを使用する利点はありません。

于 2011-02-25T17:40:54.000 に答える
0

serializeを使用して、配列をプレーン テキスト ファイルに保存できます。

何かのようなもの

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

fread とモード "r" を使用して再度取得し、メソッド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 に答える
0

フラットファイルを使用してみてください。手の込んだルックアップを行う必要がない場合は、そうです。

于 2011-02-25T17:38:48.243 に答える
0

データベースに代わる明らかな代替手段は、ファイル ストレージです。PHP は古き良きディスク ファイルを読み書きできます。fopen()、fread()、fwrite() などを参照してください。ファイル用にサーバー上のフォルダー (public_html スペースを除く) を指定し、命名スキームとデータ形式を考え出す必要があります。

于 2011-02-25T17:39:51.500 に答える