Redis
 sql >> Database >  >> NoSQL >> Redis

Utilizzo di Redis per le code per più applicazioni Laravel su un singolo server

Ho avuto lo stesso problema e mi ci sono volute ore per trovare la soluzione.

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

Per utilizzare il redis driver della coda, dovresti configurare una connessione Redisdatabase nel tuo config/database.php file di configurazione.

E poi https://laravel.com/docs/5.6/redis#predis dice:

Oltre all'host predefinito , port , database e password opzioni di configurazione del server, Predis supporta parametri di connessione aggiuntivi che possono essere definiti per ciascuno dei tuoi server Redis. Per utilizzare queste opzioni di configurazione aggiuntive, aggiungile alla configurazione del tuo Redisserver in config/database.php file di configurazione.

Leggendo la pagina "parametri di connessione", alla fine ho trovato https://github.com/nrk/predis/wiki/Client-Options, che dice che "prefisso" è un'opzione supportata.

Quindi puoi modificare il tuo config/database.php file di configurazione da avere:

'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,
        ],
    ],

Non sono sicuro se è necessario riavviare Redis o Supervisord.