Redis

Redis è un database in-memory open source utilizzato come cache, message broker e data store. È noto per le sue prestazioni eccezionali con latenze inferiori al millisecondo.

Cos'è Redis

Redis (Remote Dictionary Server) è un data store in-memory che:

  • Opera completamente in RAM per prestazioni massime
  • Supporta strutture dati come stringhe, hash, liste, set, sorted set
  • Funziona come cache per ridurre il carico sul database
  • Gestisce sessioni utente in modo distribuito
  • Implementa code per job asincroni

Configurazione Base

Campo Descrizione
Enabled Attiva o disabilita Redis
Version Versione di Redis da utilizzare

Configurazione Sicurezza

Campo Descrizione
User Default Password Password per autenticazione Redis

Nota: Se configurata, tutte le connessioni dovranno autenticarsi con AUTH.

Configurazione Rete

Campo Descrizione
Exposed Port Porta esterna per connessioni remote (default: 6379)

Configurazione Docker

Campo Descrizione
CPU Cores Limit Limite CPU per il container
Memory Limit (MB) Limite memoria per il container (importante per dati in RAM)

File di Configurazione

File Descrizione
redis.conf Configurazione principale di Redis
Dockerfile File Docker per la build dell'immagine

Connessione dall'Applicazione

Dalla rete Docker interna:

  • Host: redis
  • Porta: 6379
  • Password: [user_default_password] (se configurata)

Casi d'Uso Comuni

1. Cache Applicativa

Memorizza risultati di query costose per ridurre il carico sul database.

2. Sessioni Utente

Memorizza sessioni in modo distribuito per applicazioni multi-server.

3. Code di Lavoro

Implementa job queue per task asincroni (Laravel Queues, Bull, etc.).

4. Rate Limiting

Limita le richieste per utente/IP per proteggere le API.

5. Real-time Data

Dati che cambiano frequentemente come contatori, leaderboard, notifiche.

Versioni Supportate

Versione Stato Note
7.2 Attiva Ultime funzionalità
7.0 Attiva Consigliata
6.2 LTS Supporto a lungo termine

Best Practices

  1. Configura maxmemory per evitare che Redis consumi tutta la RAM
  2. Usa TTL su tutte le chiavi cache per evitare accumulo
  3. Scegli la struttura dati giusta per ogni caso d'uso
  4. Abilita persistenza se i dati non sono ricostruibili
  5. Usa password per proteggere l'accesso

Prossimi Passi

  • PHP - Integra Redis con Laravel
  • Node.js - Integra Redis con applicazioni Node.js