1. Hem
  2. Utvecklarverktyg
  3. Hur får jag igång Redis via socket för Laravel?

Hur får jag igång Redis via socket för Laravel?

Denna guiden är avsedd för avancerade användare.

Dessa instruktioner är skrivna för Laravel 9. Det kan hända att de inte fungerar för äldre versioner av Laravel.

Vi erbjuder Redis på alla våra webbhotellkonton samt Agency-tjänster. Detta görs via socket till skillnad från via port som används som standard i Laravel. För att få det hela att fungera med exempelvis queue-workers behöver du därför göra lite inställningar i ditt Laravel-projekt.

För att sätta upp en Laravel-worker, se följande guide.

  1. Börja med att lägga in att Predis Composer-paketet krävs i projektet. Kör alltså följande kommando i roten för ditt projekt:
    composer require predis/predis
    Detta då det inte går att använda PECL-varianten av phpredis för att komma åt Redis via socket.
  2. Under Redis-inställningarna i projektets config/database.php, lägg till rader för scheme och path så det ser ut så här:
'default' => [
             'url' => env('REDIS_URL'),
             'host' => env('REDIS_HOST', '127.0.0.1'),
             'password' => env('REDIS_PASSWORD', null),
             'port' => env('REDIS_PORT', '6379'),
             'database' => env('REDIS_DB', '0'),
             'scheme' => env('REDIS_SCHEME', 'tcp'),
             'path' => env('REDIS_PATH', ''),
         ],
'cache' => [
             'url' => env('REDIS_URL'),
             'host' => env('REDIS_HOST', '127.0.0.1'),
             'password' => env('REDIS_PASSWORD', null),
             'port' => env('REDIS_PORT', '6379'),
             'database' => env('REDIS_CACHE_DB', '1'),
             'scheme' => env('REDIS_SCHEME', 'tcp'),
             'path' => env('REDIS_PATH', ''),
         ],
  1. I .env-filen för ditt projekt, ersätt alla rader som börjar med REDIS_* med följande:
REDIS_CLIENT=predis
REDIS_SCHEME=unix
REDIS_PATH=/tmp/redis
REDIS_PASSWORD=null
REDIS_PORT=0
  1. För att använda Redis för att hantera kön, uppdatera QUEUE_CONNECTION till redis enligt standardinställningarna för Redis i Laravel. Du kan använda redis som både CACHE_DRIVER och som SESSION_DRIVER.
  2. Rensa cachen för alla inställningar med php artisan config:cache för att få ändringarna ovan att appliceras.

Om något nu köas upp kommer detta hanteras via Redis.

Hjälpte den här guiden dig?

Relaterade guider

Behöver du mer hjälp?
Kan du inte hitta lösningen på ditt problem? Då kan du kontakta oss via e-post, chatt och telefon!
Kontakta oss