👻
【Laravel sail】Redisでセッションキーを取得する
はじめに
Laravel sailを使って開発をし始めました。セッション管理をRedisすることになったのですが、セッションキーを取得するところで躓いてしましました。結果的に、意外と単純に解決できたのでやったことを書き留めます。
開発環境
- Mac
- Laravel 9.0
- Laravel sail
※ Laravel sailの環境構築についてはここでは触れません。以下の記事に非常に丁寧でわかりやすいです。
躓いたこと
① Dockerイメージをビルド後、コンテナを起動する。
$ sail up
② ローカルホストに接続、Laravelのトップページを開く。ユーザー登録・ログインができることを確認する。
③ Redisを起動する。
$ sail redis
④ 全てのセッションキーを表示するコマンドを打つ。
$ keys *
ここで思い通りに動かない。。
ローカルホストで接続し、ログインまでできてるのでキーが表示されない。。
(empty array)
ちなみに、以下のコマンドを打つとセッションのやり取りがされていることを確認できる。
なぜ、キーは表示されないんだろう。。
monitor
キーを表示するために試みたこと
envファイルを修正
① フォルトがfileなので、redisに変える
CACHE_DRIVER=redis
SESSION_DRIVER=redis
② REDIS_DBを追記して、任意の名前をつける
REDIS_DB=2
③ envファイルを変更したので更新
$ sail artisan config:clear
ここまでやって、再度キー表示のコマンドを打ったが、キーは表示されないまま。。
(empty array)
解決した方法
Redisを起動し、名前をつけたデータベースを選択したら 、キーを表示できました。
① まずはRedis起動
$ sail redis
② 先ほど任意の名前をつけた、データベースを選択(これが必要だった!!)
$ select 2(任意でつけたデータベース名)
③ キーを表示
$ keys *
これで無事セッションキーを表示できました!!
monitorは動いてるのにキーは表示されず謎だったけど、単純なことでした。。
参考
Discussion