Laravelのセッション管理をRedisに変更

以前に別の記事で Laravelのセッション管理をデータベースに変更する手順 をご紹介しましたが、今回はその派生でインメモリデータベースであるRedisを利用する手順をご紹介致します。

基本的にはLaravelの公式ドキュメントに記載されている通りです。
Laravelに、利用するRedisへの接続情報を定義し、セッション管理の設定をRedisに変更します。
https://readouble.com/laravel/5.5/ja/redis.html

なお、今回使用するRedisはAWSのElastiCacheで構築します。
https://aws.amazon.com/jp/elasticache/

手順

ElastiCacheの構築

ElastiCacheの利用手順 の記事でElastiCacheの構築の流れをご紹介しておりますので、流れに沿って構築します。

Predisのインストール

LaravelでRedisを使用するために必要となりますので、公式ドキュメントに沿ってComposerでインストールします。

Redisの接続情報の設定

config/database.php に追記します。
実際の接続情報は後述の.envファイルで定義します。
(今回はクラスタを使った定義となります。)

セッションドライバの設定

config/session.php は特に変更しません。
デフォルトで以下のようになっているかと思いますので、後述の.envファイルで定義します。

.envファイルの設定

.env に以下を追記、変更します。
Redisの設定は、ElastiCacheのクラスターのエンドポイント情報を記載します。

これでセッションデータがElastiCacheに保存されるようになります。

まとめ

セッションを使ったWebアプリケーションを複数台のWebサーバで動かす際には、セッションの管理方法をどうするか、検討する必要が出てきます。
そのような場合に、データベースでの管理も含めて、Laravelではセッション管理方法を比較的簡単に変更できます。
また、AWSのElastiCacheを利用することでインメモリデータベースの環境も簡単に構築できます。


--------------------------
システム開発のご要望・ご相談はこちらから

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です