0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Docker × Laravel 環境でRedisを構築する基本のキ

Posted at

前提

すでに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ライフを!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?