Laravelベースなマイクロフレーム LumenでキャッシュドライバとしてRedisを使おうとしていくつかハマったのでメモ (改めて公式ドキュメントみたら大体書いてたw)。

必要なこと
- Redisを使えるようにする
- Redisサーバの用意 (割愛)
.envにREDIS_系環境変数を設定
- パッケージの追加
composer require predis/prediscomposer require illuminate/redis
- RedisServiceProviderの登録
bootstrap/app.phpに$app->register(Illuminate\Redis\RedisServiceProvider::class);を記述
- Cacheファサードを使えるようにする
bootstrap/app.php内の$app->withFacades()のコメントアウトを解除
- Cache driverを
redisへ変える.envにCACHE_DRIVER=redisを設定
動作確認
Lumenだとデフォルトではtinkerが使えないので php artisan cache:clear コマンドで代用する。
手順
.envのREDIS_HOSTを適当に書き換えてコマンドを叩いてエラーがでることを確認- Cache driverがRedisになっていることの確認
- ↑を正規の情報に戻した上で、コマンドを叩いてみてエラーが出ないことを確認
- Redisへの疎通とAuthが通っていること (あるいはno-passwordであること) の確認
しっかりやるなら、キャッシュをsetしてgetするようなエンドポイントを用意して、http経由で叩くのが良さそう。
おまけ
— 寝具突撃部隊 寝無理隊 (@pinkumohikan) 2018年9月28日