Introduzione
Di recente, uno dei nostri clienti ha avuto problemi con redis-cache nel suo multistore di produzione con 30 negozi. Il suo Redis diventava indisponibile di tanto in tanto. Iniziamo a monitorarlo e scopriamo che c'erano troppe chiavi Redis scadute all'interno del database. Esempio di output:
> info keyspace # Keyspace db0:keys=45775,expires=41711,avg_ttl=79567831
Possibili soluzioni
Il modo possibile per impedire la morte del server di sistema era impostare un limite rigido per il consumo di memoria Redis. Affidarsi al limite di memoria di Redis ha un certo impatto sulle prestazioni e ci sono sempre cose che non sono necessarie e viceversa. Quindi, questo dovrebbe essere gestito dall'applicazione impostando un TTL ragionevole.
Abbiamo risolto il seguente problema con l'aggiornamento della cache redis alla versione più recente con un update composer.json
"colinmollenhour/cache-backend-redis": "1.11.0 as 1.10.6"
Correzione perfetta
Inoltre, una soluzione per questo problema verrà rilasciata in Magento 2.3.4. Link:https://github.com/magento/magento2/pull/25488
Conclusione
Utilizzare sempre le ultime versioni del software per prevenire questo tipo di bug. Soprattutto, come Magento.