Redis
 Computer >> コンピューター >  >> プログラミング >> Redis

Upstash RedisでLaravelのセッション管理を強化する方法

HTTPはステートレス(状態を持たない)なプロトコルです。つまり、サーバーへの各リクエストは完全に独立しており、以前のリクエストに関する情報は一切保持されません。認証情報やユーザーの設定など、ユーザー固有のデータを複数のリクエストにまたがって保持する必要がある動的なWebアプリケーションを構築する際には、これが大きな課題となります。この制限を克服するために、Webアプリケーションでは「セッション」を利用して、リクエスト間でデータを保存・取得しています。

最も人気のあるPHPフレームワークの一つであるLaravelは、こうしたステートフルな要件に対応できる、柔軟かつ堅牢なセッション管理システムを標準で備えています。

LaravelのデフォルトのセッションドライバーはSQLiteデータベースを使用しますが、それ以外にも複数のドライバーをサポートしており、中でも最も強力でスケーラブルなのがRedisです。

この記事では、LaravelでRedisをセッションドライバーとして設定し、パフォーマンスとスケーラビリティを向上させながら、HTTPのステートレス性を克服する方法を解説します。

データベースの作成

Upstash Redisは、完全マネージド型のサーバーレスRedis互換サービスです。わずか数秒でデータベースをセットアップでき、充実した無料枠も用意されているため、契約の縛りを気にせず機能を試すことができます。

まずはUpstashで無料アカウントに登録し、Redis互換データベースを作成しましょう。

Upstash RedisでLaravelのセッション管理を強化する方法

Laravelの設定

Redisデータベースを作成したら、次はそれをセッションドライバーとして使うようLaravelを設定します。

必要な.envファイルの設定内容は、Upstashコンソールの「Connect to your database」セクションからコピーできます。

Upstash RedisでLaravelのセッション管理を強化する方法

設定内容は以下のような形式になっています。

REDIS_HOST="tls://nearby-lioness-11228.upstash.io"
REDIS_PORT=6379
REDIS_PASSWORD="********"
 
# Upstash Redisをキャッシュストアとして使う場合は、以下の2行のコメントを解除:
#CACHE_STORE="redis"
#REDIS_CACHE_DB="0"
 
# Upstash Redisをセッションドライバーとして使う場合は、以下の行のコメントを解除:
#SESSION_DRIVER="redis"
 
# Upstash Redisをキュー接続として使う場合は、以下の行のコメントを解除:
#QUEUE_CONNECTION="redis"

設定はほぼ完了です。.envファイル内のSESSION_DRIVER変数のコメントを解除するだけで、すべてが動作するようになります。

REDIS_HOST="tls://nearby-lioness-11228.upstash.io"
REDIS_PORT=6379
REDIS_PASSWORD="********"
 
# Upstash Redisをキャッシュストアとして使う場合は、以下の2行のコメントを解除:
#CACHE_STORE="redis"
#REDIS_CACHE_DB="0"
 
# Upstash Redisをセッションドライバーとして使う場合は、以下の行のコメントを解除:
SESSION_DRIVER="redis"
 
# Upstash Redisをキュー接続として使う場合は、以下の行のコメントを解除:
#QUEUE_CONNECTION="redis"

これで完了です!アプリケーションを実行すると、Laravelは自動的にUpstash Redisをセッションドライバーとして使用するようになります。

まとめ

この記事はあっという間に読めてしまうほど短いものでしたが、それは裏を返せば、LaravelとUpstash Redisをセッションドライバーとして統合することがいかに簡単かを示しています。この記事が読者のお役に立ち、RedisとLaravelについてさらに深く学ぶきっかけとなれば幸いです。

ご質問やフィードバックがございましたら、X(旧Twitter)でお気軽にお問い合わせください。

  1. Redis GEODISTコマンド徹底解説 – 地理空間データの2つのメンバー間の距離を取得する方法

    このチュートリアルでは、キーに保存された地理空間値(ジオスペーシャルデータ)の2つのメンバー間の距離を取得する方法について学びます。この目的のために、RedisのGEODISTコマンドを使用します。 GEODISTコマンドとは GEODISTコマンドは、キーに保存された地理空間値(ソート済みセット)のうち、指定した2つのメンバー間の距離を、指定した単位で返すために使用されます。指定されたメンバーの一方または両方が地理空間値に存在しない場合は、nullが返されます。 指定できる単位は以下の4種類です。 m:メートル(デフォルト) km:キロメートル mi:マイル ft:フィート キーが存在し

  2. Redis初のアンバサダー制度「Redis Insiders」プログラム発表

    Redisはこのたび、初となるアンバサダープログラム「Redis Insiders(レディス・インサイダーズ)」を立ち上げました。 Redisはオープンソースとして世界中で何百万人ものユーザーに利用されており、開発者コミュニティは私たちのプロダクトの中心的存在です。最も熱心で情熱的なコミュニティメンバーの皆さまと協力し、Redisについて世界へ発信しながら、皆さんのプレゼンス向上も後押ししていきたいと考えています。 Redisを活用している開発者で、コードについて書いたり話したりするのが好きな方なら、Redis Insiderになれるチャンスがあります。特に、テック業界において少数派(アンダー