Redis
 sql >> Base de Dados >  >> NoSQL >> Redis

Usando Redis para filas para vários aplicativos Laravel em um único servidor


Eu tive esse mesmo problema e demorei horas para encontrar a solução.

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

Para usar o redis queue driver, você deve configurar uma conexão Redisdatabase em seu config/database.php arquivo de configuração.

E então https://laravel.com/docs/5.6/redis#predis diz:

Além do host padrão , port , database e password opções de configuração do servidor, o Predis oferece suporte a parâmetros de conexão adicionais que podem ser definidos para cada um de seus servidores Redis. Para utilizar essas opções de configuração adicionais, adicione-as à configuração do Redisserver no config/database.php arquivo de configuração.

Lendo a página "parâmetros de conexão", acabei encontrando https://github.com/nrk/predis/wiki/Client-Options, que diz que 'prefix' é uma opção suportada.

Assim, você pode editar seu config/database.php arquivo de configuração para ter:
'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,
        ],
    ],

Não tenho certeza se você precisa reiniciar o Redis ou o Supervisord.