Einführung
Kürzlich hatte einer unserer Kunden Probleme mit Redis-Cache in seinem Produktions-Multistore mit 30 Stores darauf. Seine Redis waren von Zeit zu Zeit nicht verfügbar. Wir beginnen mit der Überwachung und haben festgestellt, dass sich zu viele abgelaufene Redis-Schlüssel in der Datenbank befinden. Ausgabebeispiel:
> info keyspace # Keyspace db0:keys=45775,expires=41711,avg_ttl=79567831
Mögliche Korrekturen
Der mögliche Weg, um zu verhindern, dass der Systemserver stirbt, bestand darin, eine feste Grenze für den Redis-Speicherverbrauch festzulegen. Sich auf das Speicherlimit von Redis zu verlassen, hat einige Auswirkungen auf die Leistung, und es werden immer Dinge gelöscht, die nicht benötigt werden, und umgekehrt. Dies sollte also von der Anwendung gehandhabt werden, indem eine angemessene TTL festgelegt wird.
Wir haben das folgende Problem mit dem Upgrade des Redis-Cache auf die neueste Version mit einem Update von composer.json
behoben
"colinmollenhour/cache-backend-redis": "1.11.0 as 1.10.6"
Perfekte Lösung
Außerdem wird eine Lösung für dieses Problem in Magento 2.3.4 veröffentlicht. Link:https://github.com/magento/magento2/pull/25488
Schlussfolgerung
Verwenden Sie immer die neuesten Softwareversionen, um solche Fehler zu vermeiden. Vor allem Magento.