Подтвердить что ты не робот

Разница между 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  

Не основной вопрос, но, если это возможно, если вы смогли скомпилировать Memcache для MAMP 1.9 на Snow Leopard, пожалуйста, дайте мне знать трюк.

Мой первичный вопрос касается различий между различными технологиями веб-кэширования. Я видел упоминание Memcache, APC и Xcache (здесь: Результаты кэширования запроса mysql вручную в txt файле), но не знают плюсы, минусы и различия между ними.

На мой взгляд, у Memcache есть то преимущество, которым руководит проект dev и наш системный администратор. У этого есть недостаток того, чтобы быть полным foobar, чтобы попытаться настроить и скомпилировать на Mac.: - ^)

Любой, кого я хотел бы услышать от любого, кто может перечислить плюсы и минусы каждой (или даже одной) других технологий каширования. Где они лучше всего используются, как их лучше всего использовать. И так далее.

Вся полезная информация, я думаю.

Большое спасибо за то, что вы предоставили свое время для расширения моих знаний. - Алекс.

4b9b3361

Ответ 1

Во-первых, список кодов операций для php.

Второй Memcache/MemcacheD не является Кодексом Opcode. Это система кэширования распределенной памяти. Это не улучшает скорость и производительность вашего PHP-кода. Его можно использовать только для хранения данных.

APC, EAccelerator, XCache и другие не являются распределенными, то есть вы можете хранить данные только на локальном веб-сервере. Тем не менее, все это кэширование кода операции и может улучшить производительность вашего PHP-приложения. Большинство, за исключением EAccelerator (в текущей версии), также могут хранить данные.

Я обычно выбираю APC для кэша кода операции (он, как сообщается, будет включен в ядро ​​PHP 6). Однако, если у меня также есть несколько веб-серверов для сайта, я также буду использовать MemcacheD.


Изменить 1 Я согласен, что очень сложно настраивать APC, Memcache на MAMP. Тем не менее, есть учебники, посвященные таким вопросам.


Изменить 2 Также в отношении лучшего Opcode Cacher для вашего приложения действительно зависит от того, какой сервер вы используете. Некоторые работают лучше на некоторых системах. Это также зависит от размера и масштаба вашего приложения относительно того, как работают кэшисты.


Редактировать 3 Очень интересная статья здесь о сравнении производительности нескольких разных кэшеров. (Эта статья, как представляется, написана в 2006 году и не должна использоваться для текущей ссылки)

Ответ 2

APC - это кеш операций. Он будет хранить анализируемый PHP-код, чтобы каждый раз, когда ваши файлы PHP не нуждались в анализе.

Memcache - это кеш данных. Он будет хранить данные как пару ключевых значений.