ホームページ バックエンド開発 PHPチュートリアル WEB アプリケーションでは、大量の静的データをデータベースに保存する必要がありますか、それとも PHP ビジネス層に直接保存する必要がありますか?

WEB アプリケーションでは、大量の静的データをデータベースに保存する必要がありますか、それとも PHP ビジネス層に直接保存する必要がありますか?

Jun 13, 2016 pm 12:24 PM
mysql nbsp php redis web

WEB アプリケーションでは、大量の静的データをデータベースに保存する必要がありますか、それとも PHP ビジネス層に直接保存する必要がありますか?
MYSQL-PHP-JS アーキテクチャの WEB ゲームなど、大量の静的データを含む WEB アプリケーションには、各レベルに必要な経験値などの比較的静的なデータが大量にあることを意味します、各都市、各プロップの各パラメータなど。これらのデータは通常、バージョンが更新された場合にのみ特定の変更が行われる可能性があります。

データベース (読み取り専用テーブル) に保存されている場合、すべてのビジネスは 1 つ以上のそのような静的データ テーブルをクエリする必要があります。
連想配列の形でPHPビジネス層に直接格納すれば(もちろんEXCEL計画表構造から自動生成されたPHPコードです)、巨大な連想配列の定義や操作もサーバーのPHPファイルの実行効率に影響を与えるようです。

比較して、上記 2 つのオプションのどちらがより効率的ですか?これは、MYSQL 層と PHP 層のどちらに圧力をかけやすいかを言うのと同じです。

十分に明確に説明していないと思われる場合は、返信して説明してください。追加の説明を追加します。
------解決策のアイデア----------------------
たとえば、各レベルup 各都市、各プロップのパラメータなど、必要な経験値。
PHP コードによってアップグレードが完了する場合、何を保存しても問題ありません。
アップグレードがSQL スクリプト コードによって完成します。 はい、もちろん、バックグラウンド実装のためにテーブルとして保存する必要があります

-----ソリューション アイデア------------- -------- -
個人的には、あなたの情報はシステム構成情報に似ていると思います。ボリュームが大きい場合は、データベースに保存し、読みやすいようにキャッシュに保存することをお勧めします
------解決策のアイデア----------- ------- ---
なぜ 2 つのうちの 1 つを選択する必要があるのでしょうか?
データ ソースは mysql に配置されています。メンテナンスでは、ライブラリ内のデータも直接更新されます
次に、プログラムを作成し、静的データの各セットを php スクリプト ファイルにキャッシュします。例: upgrade experience.data.php: 1, 2=> 2)...
使用する必要があります データに到達したら、$Upgrade experience = include 'Upgrade experience.data.php';
複数のファイルに分割して保存し、使用します大量のステートメントを避けるためにどれを読み取るか
データが更新されたら、mysql 内のデータを変更してキャッシュします。ファイルを削除し、プログラムを再実行して

を生成します。 -----解決策---------------------
個人的には、データベースとredisに保存できると思います
通常、redis に値がない場合は、mysql にアクセスして取得します。

mysql の値は php を通じて設定されます。

mysql と redis 間の同期が維持されます (たとえば、mysql が再起動されると redis が更新され、mysql が更新されると redis が更新されます)

これは維持が簡単で、メモリに直接保存できます。アクセス速度も問題ありません

2階と同様、phpコード内に入れるのはオススメできません。 。 。本当に必要な場合は、公開ファイルで定義してください...

作成者が独自に選択します

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

session_start()関数の重要性は何ですか? session_start()関数の重要性は何ですか? May 03, 2025 am 12:18 AM

session_start()iscrucialinphpformangingusersions.1)itInitiateSanewsessionifnoneExists、2)resumesanexistingsession、および3)SetSessionCookieforcontinuityAcrossRequests、ApplicationslicationSliviseSlikeUserauthicationAnticatent。

フィールドをMySQLテーブルに追加および削除する手順 フィールドをMySQLテーブルに追加および削除する手順 Apr 29, 2025 pm 04:15 PM

MySQLでは、AlterTabletable_nameaddcolumnnew_columnvarchar(255)afterexisting_columnを使用してフィールドを追加し、andtabletable_namedopcolumncolumn_to_dropを使用してフィールドを削除します。フィールドを追加するときは、クエリのパフォーマンスとデータ構造を最適化する場所を指定する必要があります。フィールドを削除する前に、操作が不可逆的であることを確認する必要があります。オンラインDDL、バックアップデータ、テスト環境、および低負荷期間を使用したテーブル構造の変更は、パフォーマンスの最適化とベストプラクティスです。

MySQLをアンインストールし、残留ファイルをクリーンする方法 MySQLをアンインストールし、残留ファイルをクリーンする方法 Apr 29, 2025 pm 04:03 PM

安全かつ徹底的にMySQLをアンインストールし、すべての残留ファイルをクリーンにするには、次の手順に従ってください。1。MySQLサービスを停止します。 2。MySQLパッケージをアンインストールします。 3.構成ファイルとデータディレクトリのクリーン。 4.アンインストールが徹底していることを確認します。

Laravelの最高の拡張パックを推奨:2024 Essential Tools Laravelの最高の拡張パックを推奨:2024 Essential Tools Apr 30, 2025 pm 02:18 PM

2024年の必須のLaravel拡張パッケージには、次のものが含まれます。 2。LaravelteLescope、詳細なアプリケーション監視を提供します。 3。RARAVELHORIZON、Redisキュータスクの管理。これらの拡張パックは、開発効率とアプリケーションのパフォーマンスを向上させることができます。

MySQLにデータを挿入する効率的な方法 MySQLにデータを挿入する効率的な方法 Apr 29, 2025 pm 04:18 PM

MySQLでデータを挿入するための効率的な方法には、次のものが含まれます。1。insertInto ...値構文、2。LoadDatainFileコマンドの使用、3。トランザクション処理の使用、4。バッチサイズの調整、5。Insurtignoreまたは挿入の使用...

データ処理と計算にMySQL関数を使用する方法 データ処理と計算にMySQL関数を使用する方法 Apr 29, 2025 pm 04:21 PM

MySQL関数は、データ処理と計算に使用できます。 1.基本的な使用には、文字列処理、日付計算、数学操作が含まれます。 2。高度な使用法には、複数の関数を組み合わせて複雑な操作を実装することが含まれます。 3.パフォーマンスの最適化では、Where句での機能の使用を回避し、GroupByおよび一時テーブルを使用する必要があります。

MACOSシステム上のMySQLのインストール手順の詳細な説明 MACOSシステム上のMySQLのインストール手順の詳細な説明 Apr 29, 2025 pm 03:36 PM

MASQLのインストールは、次の手順で実現できます。1。コマンド/bin/bash-c"$(curl-fsslhttps://raw.githubusercontent.com/homebrew/install/head/install.sh)を使用して、Homebrewをインストールします。 2. Homebrewを更新し、Brewupdateを使用します。 3. mysqlをインストールし、Br​​ewinstallmysqlを使用します。 4. mysqlサービスを開始し、Brewservicesstartmysqlを使用します。インストール後、MySQL-Uを使用できます

作曲家:PHP開発者のパッケージマネージャー 作曲家:PHP開発者のパッケージマネージャー May 02, 2025 am 12:23 AM

Composerは、PHPの依存関係管理ツールであり、Composer.jsonファイルを介してプロジェクトの依存関係を管理しています。 1)依存関係情報を取得するためのComposer.jsonを解析する。 2)依存関係を解析して、依存性ツリーを形成します。 3)PackagistからVendorディレクトリへの依存関係をダウンロードしてインストールします。 4)Composer.Lockファイルを生成して、依存関係バージョンをロックして、チームの一貫性とプロジェクトの保守性を確保します。

See all articles