Я использую Magento EE 1.12.2 (также как и в CE 1.7.2), где у нас есть Redis для кэширования ( расширение Cm_Cache, Redis v 2.2.12 ), но мы используем Memcache для хранения сессий.
Redis не поддерживается из коробки на этих версиях Magento. Так что мое беспокойство здесь:
- Стоит ли тратить время на получение хранилища сессий в Redis с точки зрения усилий и скорости?
- Разве Memcache не так хорош или, может быть, даже лучше?
В этом проекте у нас есть большие файлы сеансов, так как нам нужно хранить сторонние файлы XML в сеансе, поэтому оптимизация чтения и записи сеанса может оказать значительное влияние.
От local.xml
:
<session_save><![CDATA[memcache]]></session_save>
А также:
<cache>
<backend>Cm_Cache_Backend_Redis</backend>
[...]
</cache>
CM Redis Cache в 1.7.2 - это не хак, Magento просто добавил код по умолчанию в 1.8+, потому что он так хорошо работает и легко реализуется.
Redis поддерживает кэширование и сеанс в одном экземпляре сервера из-за баз данных. В memcached вы, вероятно, запустите несколько экземпляров memcached.
Memcached также имеет возможность записи на диск, это можно использовать для сохранения сеансов после перезапуска службы. При записи на диск memcached может выдавать ошибки на вашем сайте, потому что он заблокируется на несколько минут. Redis справится с этим лучше, так как некоторые другие вопросы в этом стеке уже показаны.
Поэтому я бы рекомендовал Redis более memcached.
источник
К сожалению, это не черно-белый ответ. Итак, я дам вам плюсы и минусы:
Memcache:
Redis:
Теперь, если скорость - ваша единственная задача, просто запустите нагрузочный тест. Бесплатная учетная запись на Blazemeter позволяет вам работать с 50 виртуальными пользователями, которых должно быть достаточно для измерения различий.
источник