ホームページ >バックエンド開発 >PHPチュートリアル >ユーザー数が非常に少ない Web サイトを構築したい場合、データ ストレージをどのように選択すればよいですか?
ユーザー数が数人から十数人までの非常に少ないユーザー数でウェブサイトを構築したいと考えています。
バックエンドは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 を考慮する必要があります。互換性がない可能性があります
SQLite が推奨されます。PHP には独自の拡張機能が付属していますが、関数とデータ型は MySQL よりも単純ですが、一般的に使用されるもので十分であり、パフォーマンスも非常に優れています。
SQLite を使用する場合は、Web サイトのルート ディレクトリにデータ ファイルを配置しないことが最善です。そうしないと、URL を知っている人がそのファイルをダウンロードしてしまいます。
もちろん、指定されたファイルへのアクセス要求を拒否するように Apache/Nginx を設定することもできます。 、しかし、結局のところ、それはまだ隠れた危険です、
それはまだWebサイトのルートディレクトリの外に置きます
さらに、SQLiteを使用する場合は、SQL言語を記述し、PDOの一連の関数を使用する必要があります。操作:
リーリー
そのような経験があるかと思いますが、PHP は実際には配列指向のプログラミング言語です
コメントには、PHP セッションのようなシリアル化されたストレージをシリアル化/シリアル化解除するメソッドも含まれています。
var_export/require よりもシリアル化/アンシリアル化のパフォーマンスがはるかに優れていることに言及する価値があります。直接アクセスするには、ファイルをルート ディレクトリに置くと、より読みやすくなります。