Skip to main content
Redis è un key-value store in memoria usato come backend per molte funzionalità di Laravel. Qui vediamo configurazione, operazioni e Pub/Sub in Laravel.

Cache

Redis come driver di cache

Code

Redis come driver di coda

Broadcasting

Pub/Sub per il real-time

Cos’è Redis

Redis è un key-value store veloce open source. Supporta stringhe, hash, list, set e sorted set: è un data structure server. Utilizzi in Laravel:

Scelta del client

Laravel supporta PhpRedis (estensione PHP) e Predis (pacchetto PHP).
Il default in Laravel 13 è PhpRedis. Consigliato in produzione. In Laravel Sail è già installato.

Configurazione

config/database.php

Variabili d’ambiente

Anche URL:

TLS/SSL

Cluster

Default options.cluster = redis usa il clustering nativo. Consigliato in produzione: gestisce il failover. Per client-side sharding con Predis, rimuovi options.cluster. Il client-side sharding non gestisce failover; adatto solo a dati temporanei.

Predis

Con opzioni di connessione:

Retry

Da Predis 3.4.0:
In cluster:

PhpRedis

Da PECL (già in Laravel Sail). Opzioni: name, persistent, persistent_id, prefix, read_timeout, retry_interval, max_retries, backoff_algorithm, backoff_base, backoff_cap, timeout, context.

Retry e backoff

Algoritmi supportati: default, decorrelated_jitter, equal_jitter, exponential, uniform, constant.

Unix socket

Serializzazione e compressione

Serializer: Compressione:

Operazioni con Redis

Facade Redis

Comandi con argomenti diretti:
Con command:

Più connessioni

Transazioni

MULTI/EXEC atomici.
Nelle transazioni non puoi leggere valori: la closure viene eseguita interamente e poi inviata con EXEC.

Script Lua

Ordine: script → numero di key → key… → argomenti…

Pipeline

La pipeline non è atomica. Per atomicità usa transazione o Lua.

Pub / Sub

Subscriber

subscribe() è a lunga esecuzione: usalo in un comando Artisan.

Publisher

Wildcard

  • Produzione: PhpRedis (PECL, alte prestazioni)
  • Sviluppo o difficoltà di installazione: Predis (pacchetto Composer)
  • Laravel Sail: PhpRedis già presente
  • Definisci più connessioni Redis in config/database.php (es. default / cache)
  • In cluster usa la chiave clusters
  • In produzione considera TLS e credenziali
Ultima modifica il 13 luglio 2026