ホームページ > 記事 > PHPフレームワーク > laravel mysqlテーブル最適化の詳しい説明
Laravel の次のチュートリアルコラムでは、laravel の mysql テーブルの最適化について詳しく説明します。
1. 構成情報キャッシュ次の Artisan 組み込みコマンドを使用して、config フォルダー内のすべての構成情報を 1 つのファイルにマージし、実行時間を短縮しますロードされたファイルの数:php artisan config:cache上記のコマンドは、ファイル bootstrap/cache/config.php を生成します。次のコマンドを使用して、構成情報キャッシュをキャンセルできます:
php artisan config:clearこのコマンドの内容bootstrap/cache/config.php ファイルが削除されます。 注: 構成情報キャッシュは更新によって自動的に再ロードされません。そのため、開発中は構成情報キャッシュをオフにすることをお勧めします。通常、実稼働環境で使用され、Envoy タスクで使用できます。ランナー。 2. ルート キャッシュルート キャッシュはルーターの登録効率を効果的に向上させることができます。その効果は大規模なアプリケーションでより顕著になります。次のコマンドを使用できます:
php artisan route:cache上記 このコマンドは、bootstrap/cache/routes.php ファイルを生成しますが、ルート キャッシュはルーティング匿名関数書き込みロジックをサポートしていないことに注意してください。 次のコマンドを使用して、ルーティング キャッシュをクリアできます:
php artisan route:clearこのコマンドは、bootstrap/cache/routes.php ファイルを削除します。 注: ルート キャッシュは更新によって自動的に再ロードされません。そのため、開発中はルート キャッシュをオフにすることをお勧めします。これは通常、運用環境で使用され、Envoy タスク ランナーで使用できます。 3. クラス マッピングの読み込みの最適化 optimize コマンドは、一般的に読み込まれるクラスを 1 つのファイルにマージし、ファイルの読み込みを削減することで操作効率を向上させます: php Archerin optimize --force は、bootstrap/cache/compiled.php と bootstrap/cache/services.json という 2 つのファイルを生成します。 config/compile.php ファイルを変更することで、マージするクラスを追加できます。 本番環境では、パラメータ --force を指定する必要はなく、ファイルは自動的に生成されます。 クラス マップの読み込みの最適化をクリアするには、次のコマンドを実行します。 php Artisan Clear-compiledこのコマンドは、上記の最適化によって生成された 2 つのファイルを削除します。 注: optimize コマンドは構成情報 (config/app.php ファイルのプロバイダー配列など) に基づいてファイルを生成するため、このコマンドは phpArtisan config:cache の後に実行する必要があります。 4. 自動読み込みの最適化このコマンドは、Laravel プログラムだけでなく、composer を使用して構築されたすべてのプログラムにも適用されます。このコマンドは、PSR-0 と PSR-4 をクラス マッピング テーブルに変換して、クラスの読み込み速度を向上させます。 composer dumpautoload -o注: この操作は、php Artisan optimize --force コマンドですでに実行されています。 5. Memcached を使用してセッションを保存するすべての Laravel リクエストはセッションを生成します。セッションの保存方法を変更すると、プログラムの効率が効果的に向上します。セッションの構成情報は config/session.php です。 Memcached や Redis などの専門的なキャッシュ ソフトウェアに変更することをお勧めします: 'driver' => 'memcached',6. 専門的なキャッシュ ドライバーを使用してください" 「キャッシュ」は、アプリケーションの実行効率を向上させる魔法の武器の 1 つです。デフォルトのキャッシュ ドライバーはファイル キャッシュです。Redis や Memcached などの専門的なキャッシュ システムに切り替えることをお勧めします。データベース キャッシュの使用はお勧めしません。 。 'default' => 'redis',7. データベース リクエストの最適化データ関連付けモデルを読み取るときに遅延プリロードとプリロードを使用します;
Laravel Debugbar または Clockwork を使用して、各ページのデータベース リクエストの総数に注意してください; ここは Laravel に関するスペースのみです。データ最適化に関するその他の内容については、ご自身で他の情報を確認してください。 8. データセットのキャッシュロジックを記述する Laravel が提供するキャッシュレイヤーオペレーションを適切に使用して、データベースから取り出したデータセットをキャッシュし、データベースへの負荷を軽減し、実行します。メモリ内 インターネット上の専門的なキャッシュ ソフトウェアも、データベースよりもはるかに高速にデータを読み取ることができます。
$posts = Cache::remember('index.posts', $minutes = 30, function() { return Post::with('comments', 'tags', 'author', 'seo')->whereHidden(0)->get(); });remember データ関連付けモデルさえもキャッシュされるのは、なんと便利なことでしょう。 9. ジャストインタイム コンパイラーHHVM と OpCache を使用すると、変更を加えることなく、アプリケーションのパフォーマンスを簡単に 50% 以上向上させることができます。PHPhub は以前に実験を行いました。詳細については、「OpCache を使用して PHP 5.5 プログラムのパフォーマンスを向上させる」を参照してください。 10. フロントエンド リソースのマージ最適化標準として、ページには 1 つの CSS ファイルと 1 つの JS ファイルのみをロードする必要があり、ファイルは CDN に簡単に移動できなければなりません。ファイル名は修正により変更する必要があります。
以上がlaravel mysqlテーブル最適化の詳しい説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。