ホームページ  >  記事  >  バックエンド開発  >  ユーザー数が非常に少ない Web サイトを構築したい場合、データ ストレージをどのように選択すればよいですか?

ユーザー数が非常に少ない Web サイトを構築したい場合、データ ストレージをどのように選択すればよいですか?

WBOY
WBOYオリジナル
2016-08-04 09:19:20893ブラウズ

ユーザー数が数人から十数人までの非常に少ないユーザー数でウェブサイトを構築したいと考えています。
バックエンドはphpを使用しているので、データを保存する方法を知りたいです。

ユーザー数が非常に少ないため、ホスト構成も非常に低くなり、mysql を使用すると過剰に感じられ、ホスト構成が低すぎるためにパフォーマンスに影響を与える可能性があります。

ファイルに直接保存することも検討しましたが(データは比較的単純な構造をしており、jsonで処理できます)、関連するクエリ(mysqlのjoinなど)がある場合は、関連するクエリを実行するためにPHPを使用する必要があります。何か問題があるように感じます。

もっと良い方法はありますか?超軽量データベースのようなものですか?

追記: ホスト構成が低く、メモリが確実に不足しているため、redis は必要ありません。 mysqlやredisのような奇跡を起こそうと頑張っている企業も、こんないい加減な環境では力を発揮できません。

返信内容:

ユーザー数が数人から十数人までの非常に少ないユーザー数でウェブサイトを構築したいと考えています。
バックエンドはphpを使用しているので、データを保存する方法を知りたいです。

ユーザー数が非常に少ないため、ホスト構成も非常に低くなり、mysql を使用すると過剰に感じられ、ホスト構成が低すぎるためにパフォーマンスに影響を与える可能性があります。

ファイルに直接保存することも検討しましたが(データは比較的単純な構造をしており、jsonで処理できます)、関連するクエリ(mysqlのjoinなど)がある場合は、関連するクエリを実行するためにPHPを使用する必要があります。何か問題があるように感じます。

もっと良い方法はありますか?超軽量データベースのようなものですか?

追記: ホスト構成が低く、メモリが確実に不足しているため、redis は必要ありません。 mysqlやredisのような奇跡を起こそうと頑張っている企業も、こんないい加減な環境では力を発揮できません。

SQLite を使用するか、単にファイル ストレージを使用する場合は、データ ファイルをウェブルートの外部に配置する必要があります。

2階が正解、sqliteです。軽量でサービスを必要とせず、以前私が研究開発に参加したプロジェクトのクライアントはsqliteを使用していました。

やはり mysql ですが、mysql を使用するよりもファイルの読み書き効率が低く、開発時にさらなる困難が生じます。まずは試してみることをお勧めします。ホスト構成は Raspberry Pi よりも低くなりますか?もちろん、ホスト構成がすでに低い場合は、Windows をインストールする方法はありません。

ORM を使用して開発している場合、初期段階でのデータベースの選択は考慮する必要はありません。

SQL 開発を作成している場合は、将来データベースが変更された場合に作成する SQL を考慮する必要があります。互換性がない可能性があります

ホスト構成がどれほど低くても、Mysql と postgres は間違いなく実行できます。

SQLite が推奨されます。PHP には独自の拡張機能が付属していますが、関数とデータ型は MySQL よりも単純ですが、一般的に使用されるもので十分であり、パフォーマンスも非常に優れています。

SQLite を使用する場合は、Web サイトのルート ディレクトリにデータ ファイルを配置しないことが最善です。そうしないと、URL を知っている人がそのファイルをダウンロードしてしまいます。

もちろん、指定されたファイルへのアクセス要求を拒否するように Apache/Nginx を設定することもできます。 、しかし、結局のところ、それはまだ隠れた危険です、

それはまだWebサイトのルートディレクトリの外に置きます
さらに、SQLiteを使用する場合は、SQL言語を記述し、PDOの一連の関数を使用する必要があります。操作:
リーリー
そのような経験があるかと思いますが、PHP は実際には配列指向のプログラミング言語です

実際には、PHP 配列をファイルに直接エクスポートしてデータを保存することも検討できます。 リーリー

コメントには、PHP セッションのようなシリアル化されたストレージをシリアル化/シリアル化解除するメソッドも含まれています。
var_export/require よりもシリアル化/アンシリアル化のパフォーマンスがはるかに優れていることに言及する価値があります。直接アクセスするには、ファイルをルート ディレクトリに置くと、より読みやすくなります。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。