Laravelベースなマイクロフレーム LumenでキャッシュドライバとしてRedisを使おうとしていくつかハマったのでメモ (改めて公式ドキュメントみたら大体書いてたw)。
必要なこと
- Redisを使えるようにする
- Redisサーバの用意 (割愛)
.env
にREDIS_
系環境変数を設定
- パッケージの追加
composer require predis/predis
composer 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日