Présentation
Récemment, un de nos clients a eu des problèmes avec le redis-cache sur son multistore de production avec 30 magasins dessus. Son Redis est devenu indisponible de temps en temps. Nous commençons à le surveiller et avons constaté qu'il y avait trop de clés Redis expirées dans la base de données. Exemple de sortie :
> info keyspace # Keyspace db0:keys=45775,expires=41711,avg_ttl=79567831
Corrections possibles
Le moyen possible d'empêcher le serveur système de mourir était de définir une limite stricte pour la consommation de mémoire Redis. S'appuyer sur la limite de mémoire de Redis a un certain impact sur les performances et il y a toujours des choses effacées qui n'en ont pas besoin et vice versa. Donc, cela devrait être géré par l'application en définissant un TTL raisonnable.
Nous avons résolu le problème suivant avec la mise à niveau de redis-cache vers la version la plus récente avec une mise à jour composer.json
"colinmollenhour/cache-backend-redis": "1.11.0 as 1.10.6"
Correction parfaite
De plus, un correctif pour ce problème sera publié dans Magento 2.3.4. Lien :https://github.com/magento/magento2/pull/25488
Conclusion
Utilisez toujours les dernières versions du logiciel pour éviter ce type de bogue. Surtout, comme Magento.