Redis
 sql >> Base de données >  >> NoSQL >> Redis

Utilisation de Redis pour les files d'attente pour plusieurs applications Laravel sur un seul serveur

J'ai eu le même problème et il m'a fallu des heures pour trouver la solution.

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

Pour utiliser le redis pilote de file d'attente, vous devez configurer une connexion Redisdatabase dans votre config/database.php fichier de configuration.

Et puis https://laravel.com/docs/5.6/redis#predis dit :

En plus de l'host par défaut , port , database , et password options de configuration du serveur, Predis prend en charge des paramètres de connexion supplémentaires qui peuvent être définis pour chacun de vos serveurs Redis. Toutilisez ces options de configuration supplémentaires, ajoutez-les à votre configuration Redisserver dans le config/database.php fichier de configuration.

En lisant la page "paramètres de connexion", j'ai finalement trouvé https://github.com/nrk/predis/wiki/Client-Options, qui indique que "préfixe" est une option prise en charge.

Ainsi, vous pouvez modifier votre config/database.php fichier de configuration à avoir :

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

Je ne sais pas si vous devez ensuite redémarrer Redis ou Supervisord.