Using Redis for Queues for Multiple Laravel Applications on a Single Server

前端 未结 3 1414
一向
一向 2020-12-16 19:18

I have a production laravel application and the staging application running on the same server. I am running redis, which I am using as my queue driver. They are obviously c

3条回答
  •  Happy的楠姐
    2020-12-16 19:56

    I had this same problem, and it took me hours to find the solution.

    https://laravel.com/docs/5.6/queues#driver-prerequisites says:

    In order to use the redis queue driver, you should configure a Redis database connection in your config/database.php configuration file.

    And then https://laravel.com/docs/5.6/redis#predis says:

    In addition to the default host, port, database, and password server configuration options, Predis supports additional connection parameters that may be defined for each of your Redis servers. To utilize these additional configuration options, add them to your Redis server configuration in the config/database.php configuration file.

    Reading the "connection parameters" page, I eventually found https://github.com/nrk/predis/wiki/Client-Options, which says that 'prefix' is a supported option.

    So, you can edit your config/database.php configuration file to have:

    'redis' => [
            'client' => 'predis',
            'cluster' => false,
            'options'=>[
                'prefix' => env('REDIS_PREFIX', 'YOUR_PREFIX_HERE')
            ],
            'default' => [
                'host'     => env('REDIS_HOST', '127.0.0.1'),
                'password' => env('REDIS_PASSWORD', null),
                'port'     => env('REDIS_PORT', 6379),
                'database' => 0,
            ],
        ],
    

    I'm not sure if you then need to restart Redis or Supervisord.

提交回复
热议问题