セッションの保存先を、デフォルトのファイルからRedisへ変更します。
ただし、これは必須ではありません。保存先がファイルのままでも全く問題ありません。
Redis
親記事
Laravel 5.5で基本的なCRUDを作る - Qiita
Redisのインストール
まずは元となるRedisとGUIツールのRDMをインストールします。詳しくは下記を。
(過去記事) Windows: PhpRedisとPredisの使用準備
これ以降は下記の接続設定を前提として進めます。
- ホスト:
127.0.0.1
- ポート:
6379
- 認証: なし
Predis
使用準備
# Composerでインストールする
> composer require predis/predis
# セッションの保存先をfileからredisへ変更
SESSION_DRIVER=redis
# デフォルトのままでOK
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
動作確認
セッションをファイルに保存していた時と同じように、ごく普通にsessionヘルパを使えます。
下記のようにルートを追加してブラウザでhttp://(ドメイン)/test-session
にアクセスすると、こんにちはこんにちは!!
と表示されます。
Route::get('test-session', function () {
session(['foo' => 'こんにちはこんにちは!!']);
return session('foo');
});
RDMで確認します。
下記のようにlaravel:<セッションID>
というキー名で、Laravel内で使われている他のセッションとともに保存されています。
PhpRedis
PhpRedis自体のインストールについては、先ほども挙げた下の記事をご覧ください。
(過去記事) Windows: PhpRedisとPredisの使用準備
Laravelで使用するには、client
をphpredis
に変えるだけです。
'redis' => [
- 'client' => 'predis',
+ 'client' => 'phpredis',
動作確認のため、先ほどのページをリロードしてみてください。
以前と変わらずにセッションを使えるはずです。
試しにphp.ini
でPhpRedisを無効にしてApacheを再起動してページをリロードすると今度はエラーとなるので、セッションの保存にPredisではなくPhpRedisが使われていることが分かります。