この記事の例では、Laravel Memcached キャッシュドライバーの構成と適用方法を説明します。参考のために皆さんと共有してください。詳細は次のとおりです:
Memcached キャッシュ構成は、WEB パフォーマンスを向上させるために、任意の PHP 環境で構成および使用できます。大規模な Web サイト (大量のデータとアクセス数が多い) では、キャッシュ システムはデータベースの負荷を軽減し、ページのアクセス速度を向上させ、システムのパフォーマンスを向上させるために不可欠なコンポーネントです。完全に機能する強力な PHP フレームワークとして、Laravel は当然ながらキャッシュ システムのサポートを提供します。 Laravle は現在、ファイル、配列、データベース、APC、Memcached、Redis を含むキャッシュ ドライバーをサポートしており、これらのドライバーに統合されたアクセス インターフェイスを提供しています。これによる利点は明らかです。ビジネス ニーズに応じていつでもキャッシュ ドライバーを切り替えることができます。ビジネスについては心配しないでください。ロジック コードに変更を加えます。
Laravel キャッシュドライバー設定は config/cache.php にあります。設定配列の最初の設定項目のデフォルトは、デフォルトのキャッシュドライバーを指定するために使用されます:
'default' => env('CACHE_DRIVER', 'file'),
ここでのデフォルトのキャッシュドライバーはファイルキャッシュです。 2 番目の設定項目であるストアはハイライトであり、Laravel でサポートされている 6 つのキャッシュ ドライバーを設定するために使用されます:
'stores' => [ 'apc' => [ 'driver' => 'apc', ], 'array' => [ 'driver' => 'array', ], 'database' => [ 'driver' => 'database', 'table' => 'cache', 'connection' => null, ], 'file' => [ 'driver' => 'file', 'path' => storage_path('framework/cache'), ], 'memcached' => [ 'driver' => 'memcached', 'servers' => [ [ 'host' => '127.0.0.1', 'port' => 11211, 'weight' => 100, ], ], ], 'redis' => [ 'driver' => 'redis', 'connection' => 'default', ], ],
ここで、apc は APC キャッシュを表します。APC は、キャッシュと PHP の最適化を提供することです。中間コード (オペコード) 無料、オープンソース、堅牢なフレームワーク。詳細については、公式 PHP ドキュメントを参照してください: http://php.net/manual/zh/book.apc.php APC キャッシュは、Memcached と同様のパフォーマンスを備えたメモリベースのキャッシュ システムですが、制限があります。それは、単一マシンのキャッシュのみが使用できるという点です。また、実際の運用環境には複数の Web サーバーがないことが多いため、比較的大規模な Web サイトでは Memcached の使用を選択することが多くなります。
配列キャッシュ ドライバー (配列) は、多くの場合、テストのみに使用されます。利点は、永続的ではなく、PHP スクリプト実行のライフ サイクル内でのみ有効であることです。
ファイル キャッシュ ドライバー (ファイル) は、ローカルの開発とテストにのみ使用されることがよくあります。これは、ファイル キャッシュはキャッシュをファイルに保存し、読み取り時にハードディスクから読み取るため、パフォーマンスは当然メモリほど良くありません。 APC、Memcached、Redis などのベースのキャッシュ システム。
データベース キャッシュ ドライバー (データベース) は、キャッシュされたデータをデータベースに保存します。これを使用する前に、キャッシュ アイテムを保存するための新しいテーブルをデータベースに作成する必要があります。テーブル構造は次のように定義できます。データベース内のキャッシュされたデータは、読み取られた後、キャッシュ システムに保存されますが、データベース キャッシュはシステムのパフォーマンスをある程度向上させますが、当然のことながら、大規模なシステムには最適な選択ではありません。
memcached キャッシュ ドライバーは Memcached に基づいています。もちろん、Homestead 仮想マシンを使用している場合は、Memcached がインストールされており、起動時に自動的に起動します。次のコマンドを使用してステータスと開始ポートを確認します:
Schema::create('cache', function($table) { $table->string('key')->unique(); $table->text('value'); $table->integer('expiration'); });
前述したように、Memcached は実際の運用環境で広く使用されているメモリベースの分散キャッシュ システムです。
Redis は、近年登場したばかりのキャッシュ システムです。Memcached のキーと値のペアと比較して、文字列、ハッシュ、リスト、セット、順序付きセットなどを含む、より多くのデータ構造をサポートしています。データ構造サーバーである Redis もメモリベースですが、ハードディスクに永続化できます。キャッシュ システムとしてだけでなく、NoSQL データベースやメッセージ キューなどとしても使用できます。全体として、それは非常に強力です。 Redisについては後ほど別途説明するので、キャッシュインスタンスについては例としてキャッシュドライバーとしてMemcachedを使用し、Laravelでのキャッシュの使い方について体系的に説明します。
構成ファイルから始めて、memcached 構成項目内のドライバーは、memcached として使用されるキャッシュ ドライバーのタイプを指定します。サーバーは Memcached がインストールされているサーバーを表し、ホストはホスト名を表します。ポートは Memcached がリッスンするポート番号を表します。デフォルトは 11211 です。重みは重みを表します。これは、複数の Memcached サーバーを構成することが多く、重みは重みを表します。アクセスの優先順位。
テストとして、ここではデフォルトの構成を使用します。
始める前に、デフォルトのキャッシュドライバーを memcached に変更する必要があります:
ps -ef | grep memcached
さらに、config/cache.php 設定ファイルには最後の設定項目のプレフィックスがあり、これはキャッシュのプレフィックスを設定するために使用されますつまり、キャッシュ項目は同じホスト上の複数のアプリケーションで使用される可能性があるため、それらを区別するためにプレフィックスを追加する必要があります。ここでは接頭辞として laravelacademy を使用します:
'default' => env('CACHE_DRIVER', 'memcached'),
この記事が、Laravel フレームワークに基づいた PHP プログラムの設計に役立つことを願っています。
Laravel Memcached キャッシュドライバーの構成とアプリケーションメソッドの分析に関連するその他の記事については、PHP 中国語 Web サイトに注目してください。