Ich verwende ein Magento EE 1.12.2 (ebenfalls in CE 1.7.2), in dem wir Redis zum Zwischenspeichern haben ( Cm_Cache-Erweiterung, Redis v 2.2.12 ), aber wir verwenden Memcache zum Speichern von Sitzungen.
Redis wird in diesen Magento-Versionen nicht sofort unterstützt. Mein Anliegen hier ist also:
- Lohnt es sich, den Sitzungsspeicher in Bezug auf Aufwand und Geschwindigkeitsverbesserung in Redis zu integrieren?
- Ist Memcache nicht genauso gut oder vielleicht sogar noch besser?
In diesem Projekt haben wir große Sitzungsdateien, da wir XML-Dateien von Drittanbietern in der Sitzung speichern müssen, sodass die Optimierung des Lese- und Schreibvorgangs von Sitzungen erhebliche Auswirkungen haben kann.
Von local.xml
:
<session_save><![CDATA[memcache]]></session_save>
Und:
<cache>
<backend>Cm_Cache_Backend_Redis</backend>
[...]
</cache>
CM Redis Cache in 1.7.2 ist kein Hack, Magento hat den Code standardmäßig auf 1.8+ hinzugefügt, weil er so gut funktioniert und einfach implementiert werden kann.
Redis unterstützt die Bereitstellung von Cache und Sitzung in derselben Serverinstanz aufgrund von Datenbanken. In memcached würden Sie wahrscheinlich mehrere Instanzen von memcached starten.
Memcached bietet auch die Möglichkeit, auf die Festplatte zu schreiben. Dies kann verwendet werden, um Sitzungen nach einem Neustart des Dienstes zu speichern. Beim Schreiben auf die Festplatte kann memcached Fehler auf Ihrer Site verursachen, da es für einige Momente gesperrt wird. Redis wird dies besser handhaben, da einige andere Fragen zu diesem Stapel bereits gezeigt wurden.
Daher würde ich Redis gegenüber memcached empfehlen.
quelle
Dies ist leider keine Schwarz-Weiß-Antwort. Also, ich gebe Ihnen die Vor- und Nachteile:
Memcache:
Redis:
Wenn die Geschwindigkeit Ihr einziges Problem ist, führen Sie einfach einen Belastungstest durch. Mit einem kostenlosen Konto bei Blazemeter können Sie mit 50 virtuellen Benutzern arbeiten. Dies sollte ausreichen, um die Unterschiede zu messen.
quelle