ホームページ > PHPフレームワーク > Laravel > laravel mysqlテーブル最適化の詳しい説明

laravel mysqlテーブル最適化の詳しい説明

藏色散人
リリース: 2021-02-18 08:58:28
転載
2873 人が閲覧しました

Laravel の次のチュートリアルコラムでは、laravel の mysql テーブルの最適化について詳しく説明します。

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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:csdn.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート