Разница между Memcache, APC, XCache и другими альтернативами, о которых я не слышал
на работе мы недавно начали разрабатывать приложение для меня "большого масштаба" (мы разрабатываем потенциал для обслуживания многих миллионов просмотров в день). Один из старших разработчиков и сисадмин настроили memcache на сервере.
Как я понимаю, Memcache будет хранить результаты запросов и определенные таблицы в памяти в течение X времени и хранить все hunky dory.
недостатком memcache кажется то, что я просто не могу для жизни мне удается настройте его в моей локальной среде разработки. Я следил за несколькими различными инструкциями о том, как скомпилировать его для себя. Большинство, если не все шаги, кажется, работают правильно, но получить эту ошибку на PHPLoad:
[11-Sep-2010 16:02:30] PHP Warning: PHP Startup: Unable to load dynamic library '/Applications/MAMP/bin/php5.3/lib/php/extensions/no-debug-non-zts-20090626/memcached.so' - dlopen(/Applications/MAMP/bin/php5.3/lib/php/extensions/no-debug-non-zts-20090626/memcached.so, 9): image not found in Unknown on line 0
Не основной вопрос, но incedentally, если вы смогли скомпилировать Memcache для MAMP 1.9 на Snow Leopard, пожалуйста, дайте мне знать трюк.
мой основной вопрос о том, что различия между различными веб-кэширования технологии. Я видел упоминание о Memcache, APC и Xcache (здесь:кэшировать результаты запроса mysql вручную в txt-файл), но не знаю плюсов, минусов и различий между ними.
на мой взгляд, Memcache имеет преимущество быть тем, что ведущий разработчик проекта и наш системный администратор выбрали. У него есть минус быть полным foobar, чтобы попытаться настроить и скомпилировать на Mac. :-^)
любой, кого я хотел бы услышать от любого, кто можно перечислить плюсы и минусы каждой (или даже одной) другой технологии cachine. Где они лучше всего используются, как они лучше всего используются. И так далее.
это вся полезная информация, я думаю.
большое спасибо за предоставление вашего времени для расширения моих знаний. - Алекс.
2 ответов
во-первых, список кэшеры кодов операций для php.
второй Memcache / MemcacheD не является Кэшером кода операции. Это система кэширования распределенной памяти. Она не улучшает скорость/производительность вашего PHP-кода. Его можно использовать только для хранения данных.
APC, EAccelerator, XCache и другие не распределены, то есть вы можете хранить данные только на локальном веб-сервере. Однако все они являются кэшерами кодов операций и могут повысить производительность вашего PHP-приложения. Большинство, за исключением EAccelerator (в текущей версии) также может хранить данные.
Я обычно выбираю APC для кода операции cacher (он, как сообщается, будет включен в ядро PHP 6). Однако, если у меня также есть более одного веб-сервера для сайта, я также буду использовать MemcacheD.
изменить 1 Я согласен, что очень раздражает настройка APC, Memcache на MAMP. Однако есть учебники, касающиеся такие.
Изменить 2 также в отношении лучшего кода операции Cacher для вашего приложения действительно зависит от того, какой сервер вы используете. Некоторые лучше работают на некоторых системах. Это также зависит от размера и масштаба вашего приложения относительно того, как работают кэшеры.
редактировать 3 очень интересно статью о сравнении производительности нескольких разных cachers. (Эта статья кажется написана в 2006 году и не очень используется для текущей ссылки)
APC-это кэш кода операции. Он будет хранить анализируемый PHP-код, так что каждый раз ваши PHP-файлы не нужно анализировать.
Memcache-это кэш данных. Он будет хранить данные как пару ключевых значений.