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
- Configura maxmemory per evitare che Redis consumi tutta la RAM
- Usa TTL su tutte le chiavi cache per evitare accumulo
- Scegli la struttura dati giusta per ogni caso d'uso
- Abilita persistenza se i dati non sono ricostruibili
- Usa password per proteggere l'accesso