ホームページ > 記事 > PHPフレームワーク > Laravel 開発: Laravel Redis を使用してデータ キャッシュを実装するにはどうすればよいですか?
Laravel は、Web 開発で広く使用されている非常に人気のある PHP フレームワークです。 Laravel フレームワークは、データ キャッシュを含む多くの便利な API とコンポーネントを提供します。 Redis は、データ クエリと読み取り効率を非常に効果的に向上させる、人気のあるオープン ソースのメモリ内データ構造ストレージです。この記事では、Laravel Redis を使用して Laravel にデータ キャッシュを実装し、Web アプリケーションのパフォーマンスを向上させる方法を紹介します。
まず、Laravel Redis をインストールする必要があります。 Composer を使用して次のコマンドを実行してインストールできます。
composer require predis/predis
predis/predis パッケージを使用して Laravel Redis キャッシュ ドライバーを実装します。インストールが完了したら、.env
ファイルで REDIS_HOST、REDIS_PASSWORD、および REDIS_PORT 変数を設定する必要があります。
REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null REDIS_PORT=6379
config/cache.php
ファイルの構成を変更し、Redis をキャッシュとして使用するように「default」オプションを「redis」に変更します。運転者。さらに、「redis」配列に Redis 接続情報を設定します。
'default' => env('CACHE_DRIVER', 'redis'), 'redis' => [ 'client' => 'predis', 'default' => [ 'host' => env('REDIS_HOST', '127.0.0.1'), 'password' => env('REDIS_PASSWORD', null), 'port' => env('REDIS_PORT', 6379), 'database' => env('REDIS_DB', 0), ], ],
Laravel Redis ドライバーと構成がセットアップされたら、使用を開始できます。 Laravel Redis を介してデータをキャッシュする 3 つの方法は次のとおりです。
Laravel Redis を使用する最も簡単な方法は、Cache
ファサードの基本的な方法を使用することです。 Laravel フレームワークは多くの高度な機能を提供しますが、ここでは最も基本的なキャッシュ方法に重点を置きます。キャッシュは次のコードで実行できます。
use IlluminateSupportFacadesCache; $value = Cache::remember('key', $minutes, function () { return DB::table('users')->get(); });
上記のコードは、「users」テーブルの結果を Redis にキャッシュします。この後、キーを呼び出すときに、ソース データベースから結果を再生成するのではなく、Redis にキャッシュされたコピーが再利用されます。 Cache::remember
メソッドの 2 番目のパラメータは、分単位のキャッシュ有効期間です。または、Cache::forever
メソッドを使用して、データをキャッシュに永続的に保存できます。
Laravel Redis を使用したもう 1 つの高度なキャッシュ方法は、タグを使用することです。タグを使用すると、複数のキャッシュ エントリを作成してキャプチャし、タグを使用してそれらをすべてクリアできます。タグ キャッシュにより、キャッシュのライフサイクルをより詳細に制御できます。
use IlluminateSupportFacadesCache; Cache::tags(['people', 'artists'])->put('John', $john, $minutes); Cache::tags(['people', 'authors'])->put('Jane', $jane, $minutes);
上記のコードは、John
を 2 つのタグ people
と artists
に保存し、Jane
を 2 つのタグ内に保存します。 人
と著者
。特定のタグの flush
メソッドを使用して、そのタグの下にあるすべてのキャッシュされたアイテムのみをクリアできるようになりました。
Cache::tags(['people'])->flush();
上記のコードは、people
タグを持つすべてのキャッシュをクリアし、Redis から削除します。
Laravel Redis は、機能は少ないものの、より使いやすいいくつかの補助関数も提供します。
cache()->put('key', 'value', $ minutes)
入力値を一定時間キャッシュします。 。 cache()->get('key')
キャッシュされた値を取得します。 cache()->remember('key', $ minutes, function() { return 'value'; })
キャッシュ項目を取得し、失敗した場合は新しい値を返します。 cache()->rememberForever()
キャッシュ項目を常に記憶します。 Laravel Redis は、データをキャッシュし、Web アプリケーションで効率的なデータの読み取りとクエリを実行するためのシンプルで使いやすいメソッドをいくつか提供します。 Laravel フレームワークはほぼ完全に Composer によって強化されているため、Laravel Redis の操作が簡単になります。大規模な Web アプリケーションで Laravel Redis キャッシュを使用する利点は、遅いデータベースによる無駄な時間が削減され、動的データのクエリ速度が向上することです。
以上がLaravel 開発: Laravel Redis を使用してデータ キャッシュを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。