Używam Magento EE 1.12.2 (jednakowo w CE 1.7.2), gdzie mamy Redis do buforowania ( rozszerzenie Cm_Cache, Redis v 2.2.12 ), ale używamy Memcache do przechowywania sesji.
Redis nie jest obsługiwany od razu w tych wersjach Magento. Więc moim problemem tutaj jest:
- Czy warto kłopotać się przechowywaniem sesji w Redis pod względem nakładu pracy i szybkości?
- Czy Memcache nie jest tak dobry, a może nawet lepszy?
W tym projekcie mamy duże pliki sesji, ponieważ musimy przechowywać w niej pliki XML innych firm, więc optymalizacja odczytu i zapisu sesji może mieć znaczący wpływ.
Od local.xml
:
<session_save><![CDATA[memcache]]></session_save>
I:
<cache>
<backend>Cm_Cache_Backend_Redis</backend>
[...]
</cache>
Pamięć podręczna CM Redis w wersji 1.7.2 nie jest włamaniem, Magento po prostu domyślnie dodał kod do wersji 1.8+, ponieważ działa tak dobrze i łatwo go zaimplementować.
Redis obsługuje pamięć podręczną i sesję w tej samej instancji serwera z powodu baz danych. W memcached prawdopodobnie uruchomiłbyś wiele instancji memcached.
Memcached ma również możliwość zapisu na dysk, można go użyć do zapisania sesji po ponownym uruchomieniu usługi. Podczas zapisywania na dysk memcached może powodować błędy w Twojej witrynie, ponieważ zostanie zablokowany na kilka chwil. Redis poradzi sobie z tym lepiej, jak pokazano już kilka innych pytań na tym Stosie.
Więc poleciłbym Redis ponad memcached.
źródło
To niestety nie jest czarno-biała odpowiedź. Więc dam ci zalety i wady:
Memcache:
Redis:
Teraz, jeśli prędkość jest twoim jedynym zmartwieniem, po prostu uruchom test obciążenia. Bezpłatne konto w Blazemeter umożliwia pracę z 50 wirtualnymi użytkownikami, co powinno wystarczyć do zmierzenia różnic.
źródło