ホームページ >PHPフレームワーク >Laravel >redisによるlaravelの使い方
Laravel は人気のある PHP 開発フレームワークであり、「2020 Laravel Developers Survey」で最も人気のある PHP フレームワークのタイトルを獲得しました。中でもLaravelのRedis機能は広く使われており、開発者が効率的なキャッシュやキュー処理を実現するのに役立ちます。
Redis は、オープン ソースのインメモリ データ ストレージ システムであり、キーと値のペアに似た NoSQL データベースです。 Redis の特徴は、文字列、リスト、ハッシュ、セット、順序付きセットなど、さまざまなデータ構造をサポートできることです。また、高パフォーマンス、高可用性、拡張性、使いやすさという利点もあるため、開発では非常に人気があり、広く使用されています。次に、LaravelにおけるRedisの使い方を詳しく紹介していきます。
Redis の設定
Laravel で Redis を使用するには、まず Redis を設定する必要があります。 .env ファイルを開き、次の構成項目を見つけます:
CACHE_DRIVER=file SESSION_DRIVER=file REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null REDIS_PORT=6379
その中で、CACHE_DRIVER はキャッシュ ドライバーを表します。デフォルト値は file です。ここでは、それを Redis、つまり
CACHE_DRIVER=redisに変更する必要があります。
SESSION_DRIVER。同じ原則が適用されます。 REDIS_HOST は Redis サービスのアドレスを表します。デフォルトはローカル マシンの 127.0.0.1 です。REDIS_PASSWORD は Redis のパスワードを表します。使用できない場合は、null に設定する必要があります。 REDIS_PORT は、Redis サービスがリッスンするポートを示し、デフォルトは 6379 です。
使用状況をテストするために、ここで使用する Redis はパスワードを設定せずにローカル マシンにインストールされます。リモート Redis を使用している場合は、REDIS_HOST と REDIS_PORT を変更し、REDIS_PASSWORD も設定する必要があります。
Redis を使用したキャッシュ
Laravel での Redis を使用したキャッシュは非常に簡単です。 Cache クラスを使用してキャッシュにアクセスし、そのドライバーを Redis に設定するだけで、Redis をキャッシュに使用できるようになります。
Redis を使用して値をキャッシュするにはさまざまな方法がありますが、ここでは最初に値のキャッシュについて紹介します。
use IlluminateSupportFacadesCache; Cache::store('redis')->put('key', 'value', $seconds);
上記のコードは、Cache::store('redis') を通じて Redis キャッシュにアクセスし、put メソッドを使用してキーと値のペアをキャッシュします。このうち、$秒はキャッシュの有効期間を秒単位で表します。 $seconds の値が null の場合、キャッシュは期限切れになりません。
値をキャッシュする機能は、後で値を直接取得できるようにすることです。 Laravel の Cache クラスを使用してこの値を取得できます。
use IlluminateSupportFacadesCache; $value = Cache::store('redis')->get('key');
上記のコードは、Cache::store('redis') を通じて Redis キャッシュにアクセスし、get メソッドはキーに対応する値を取得します。
キャッシュを削除する必要がある場合は、次のコードを使用できます:
use IlluminateSupportFacadesCache; Cache::store('redis')->forget('key');
上記のコードは、Cache::store('redis を通じてアクセスされます) ') Redis キャッシュの場合、forget メソッドは対応するキャッシュを削除します。
キャッシュが存在するかどうかを確認するには、次のコードを使用できます。
use IlluminateSupportFacadesCache; if (Cache::store('redis')->has('key')) { // }
上記のコードは、Cache::store( を通じて Redis にアクセスします。 'redis') キャッシュでは、 has メソッドによってキーに対応する値が存在するかどうかが判断されます。
キュー処理に Redis を使用する
Laravel でキュー処理に Redis を使用するには、まずキュー サービス プロバイダーを導入する必要があります。 config/app.php ファイルを開き、プロバイダー配列を見つけて、次のコードを追加します:
'providers' => [ // ... IlluminateQueueQueueServiceProvider::class, IlluminateRedisRedisServiceProvider::class, // ... ],
次に、キュー接続を構成する必要があります。 config/queue.php ファイルを開き、次の設定項目を変更します:
'connections' => [ 'redis' => [ 'driver' => 'redis', 'connection' => 'default', 'queue' => 'default', 'retry_after' => 90, 'block_for' => null, ], ],
このうち、driver は Redis ドライバーを使用することを意味し、connection は使用するキャッシュ接続を意味し、queue は使用するキュー名を意味し、retry_after は再試行することを意味します。 Time (秒); block_for は、タスクを取得するときのブロック時間を秒単位で表します。
次に、次のコードを使用してタスクをキューにプッシュします。
use IlluminateSupportFacadesQueue; Queue::push(new SendEmailJob($user));
上記のコードは Queue::push を使用します。 SendEmailJob をデフォルトのキューにプッシュするメソッド。このうち、SendEmailJob は、より複雑なロジックを実装できるカスタム タスク クラスです。
タスクをキューにプッシュした後、次のコマンドを使用してタスクを実行する必要があります:
php artisan queue:work
上記のコマンドは、次のプロセスを開始します。キュータスクを実行します。サーバーに複数の CPU コアがある場合は、--daemon オプションを追加して複数のプロセスを開始することで、タスクの処理速度を向上させることができます。
LaravelのRedis機能は非常に強力で、Redisと連携することで優れたキャッシュやキュー処理を実現できます。高い同時実行性と複雑なビジネスを扱う場合、Redis キャッシュとキューを使用すると、システムのパフォーマンスと安定性が大幅に向上します。この記事では、Laravel での Redis の使用法を簡単に紹介し、開発作業に役立つことを願っています。
以上がredisによるlaravelの使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。