前提
すでにDockerに環境がある状態で、Redisを追加する場合の手順になります。
クラスター構成ではなく最小で構築します。
DockerにRedisコンテナを立ち上げる
- docker-compose.ymlにRedisを追記する
#redis
redis:
image: redis:6.0.9
command: redis-server /usr/local/etc/redis/redis.conf --appendonly yes
ports:
- "6379:6379"
volumes:
- ./docker/redis/redis.conf:/usr/local/etc/redis/redis.conf
- ./docker/redis/data:/data
'--appendonly yes'はデータの永続化を意味します。
volumesに記述するパスは各々の環境に合わせて変更してください。
redisのバージョン指定は例です、指定がなければ'latest'(最新)がオススメです。
-
コマンドを叩いて立ち上げる
docker-compose build
-
docker-compose up
*こちらでも可↓ docker-compose up --build
キャッシュを使いたくない、またはキャッシュ系でエラーが出たら'--no-cache'オプションをコマンドの末尾につけてみてください。
これだけです!便利ですね😊
LaravelにRedisクライアントをインストールする
-
コマンドを叩く
composer require predis/predis
*バージョン指定の場合↓
composer require predis/predis:x.x.x
*インストールの進捗を確認したい場合↓
composer require predis/predis -vvv
メモリリークでエラーが起きる場合は、
'COMPOSER_MEMORY_LIMIT=-1 composer require predis/predis'
のようにオプションをつけてみてください。
ちなみに、peclやgitからでもRedisクライアントのインストールは可能です。
ただし、Laravel側で追加設定が必要だったりするので興味ある方は調べてみてください😄
- database.phpの修正
'redis' => [
'client' => env('REDIS_CLIENT', 'predis'),
'default' => [
'host' => env('REDIS_HOST', '127.0.0.1'), // or 'redis'
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379),
'database' => env('REDIS_DB', 0),
],
],
envファイルが別にある場合はそちらが優先されるのでご注意ください。
クラスター構成にする場合は追加の記述が必要です。
以上です。
今回は構築の説明なので具体的な操作や実例は割愛します😃
ここまで問題なく進めると、Redisファサードを用いて操作できるようになっているはずです。
それでは、よいKVSライフを!