ホームページ > PHPフレームワーク > Laravel > Laravel 開発: Laravel Redis を使用してデータ キャッシュを実装するにはどうすればよいですか?

Laravel 開発: Laravel Redis を使用してデータ キャッシュを実装するにはどうすればよいですか?

WBOY
リリース: 2023-06-13 17:45:39
オリジナル
1653 人が閲覧しました

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
ログイン後にコピー

Laravel Redis の構成

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 ドライバーと構成がセットアップされたら、使用を開始できます。 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 つのタグ peopleartists に保存し、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 サイトの他の関連記事を参照してください。

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