sql >> Databáze >  >> NoSQL >> Redis

Použití Redis pro fronty pro více aplikací Laravel na jednom serveru

Měl jsem stejný problém a trvalo mi hodiny, než jsem našel řešení.

https://laravel.com/docs/5.6/queues#driver-prequires říká:

Chcete-li použít redis ovladač fronty, měli byste nakonfigurovat připojení Redisdatabase ve vašem config/database.php konfigurační soubor.

A pak https://laravel.com/docs/5.6/redis#predis říká:

Kromě výchozího host , port , database a password možnosti konfigurace serveru, Predis podporuje další parametry připojení, které lze definovat pro každý z vašich serverů Redis. Chcete-li využít tyto dodatečné možnosti konfigurace, přidejte je do konfigurace Redisserver v config/database.php konfigurační soubor.

Při čtení stránky "parametry připojení" jsem nakonec našel https://github.com/nrk/predis/wiki/Client-Options, kde je uvedeno, že 'prefix' je podporovaná možnost.

Můžete tedy upravit svůj config/database.php konfigurační soubor mít:

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

Nejsem si jistý, jestli potom musíte restartovat Redis nebo Supervisord.



  1. Laravel - Vymaže všechny klíče cache / redis, které obsahují konkrétní řetězec

  2. MongoDB Porovnat pole s $type?

  3. spring-boot redis :Jak zrušit platnost všech relací uživatele?

  4. MongoDB $toDouble