Redis non ha memoria disponibile per il comando secondo i limiti e la policy impostati. Distingui cache ricostruibile e dati da conservare.
Indice dei contenuti
Redis OOM command not allowed: significato
Il limite è raggiunto e la policy non permette di liberare abbastanza memoria. Una policy volatile non trova chiavi idonee con scadenza. Il dataset o i carichi condivisi crescono oltre il dimensionamento previsto.

Sintomi e cause probabili
Sintomi da verificare
- Il messaggio “Redis OOM command not allowed” compare durante un’operazione ripetibile.
- La funzione coinvolta in Redis non raggiunge il risultato previsto.
- Il log dell’area Redis registra un evento nello stesso minuto della prova.
- Il comportamento osservato in Redis cambia in base a utente, rete, file o configurazione.
Cause probabili
- Il limite è raggiunto e la policy non permette di liberare abbastanza memoria.
- Una policy volatile non trova chiavi idonee con scadenza.
- Il dataset o i carichi condivisi crescono oltre il dimensionamento previsto.
Diagnosi passo per passo
- Leggere used_memory maxmemory e policy
- Analizzare dimensione e TTL delle chiavi
- Identificare prefissi e applicazioni
- Controllare crescita nel tempo
- Verificare se Redis conserva dati persistenti o sola cache
Log e dati da controllare
- log Redis
- INFO e diagnostica del servizio
- log dell’object cache o dell’applicazione
Correzioni sicure
- Controlla maxmemory, consumo e policy di espulsione con il gestore.
- Con una policy volatile verifica che esistano chiavi eliminabili con scadenza; la sola presenza di TTL non risolve ogni esaurimento.
- Correggi crescita e separazione dei carichi; scegli una policy coerente senza rendere eliminabili dati persistenti per errore.
- Dimensiona anche memoria del processo e margine per persistenza. Verifica che il comando torni a funzionare senza perdita di dati necessari.

Verifica finale
- Il comando riesce e i dati da conservare restano disponibili.
- Confronta il risultato con la prova iniziale e conserva gli eventuali errori rimasti.
Errori da evitare
- Non disattivare globalmente WAF, ModSecurity, antispam o verifica TLS per aggirare il sintomo
- Non impostare permessi 777 e non cambiare proprietari in modo ricorsivo senza conoscere la struttura dell’account
- Non cancellare database, chiavi Redis, cache o file di sistema senza backup e senza aver identificato l’oggetto coinvolto
- Non ripetere pagamenti, import o webhook reali finché non hai verificato l’idempotenza
Guide Xlogic correlate
- Redis OOM command not allowed when used memory exceeds maxmemory
- Redis CLUSTERDOWN Hash slot not served
- Redis EXECABORT Transaction discarded
Fonti tecniche
Domande frequenti
Che cosa significa “Redis OOM command not allowed”?
Redis non ha memoria disponibile per il comando secondo i limiti e la policy impostati. Distingui cache ricostruibile e dati da conservare.
Da cosa può dipendere “Redis OOM command not allowed”?
Il limite è raggiunto e la policy non permette di liberare abbastanza memoria. Una policy volatile non trova chiavi idonee con scadenza. Il dataset o i carichi condivisi crescono oltre il dimensionamento previsto.
Quali controlli eseguire per “Redis OOM command not allowed”?
Controlla maxmemory, consumo e policy di espulsione con il gestore. Con una policy volatile verifica che esistano chiavi eliminabili con scadenza; la sola presenza di TTL non risolve ogni esaurimento. Correggi crescita e separazione dei carichi; scegli una policy coerente senza rendere eliminabili dati persistenti per errore. Dimensiona anche memoria del processo e margine per persistenza. Verifica che il comando torni a funzionare senza perdita di dati necessari.