Я читаю эту статью: http://www.mysqlperformanceblog.com/2006/09/27/apc-or-memcached/ с давних времен, когда ... Я хочу получить лучший доступный механизм кэширования, чтобы мое приложение было действительно быстрым. Конечно, я не хочу перегружать кеш, но я хочу, по крайней мере, выбрать лучшее, что есть. В этой статье говорится, что Memcached работает медленно, а apc работает быстро, так почему же все выбирают memcached ?
http://framework.zend.com/manual/en/zend.cache.backends.html#zend.cache.backends.twolevels здесь говорит: «используйте быстрый (но ограниченный) как Apc, Memcache ... и "медленный", такой как File, Sqlite ... "Как вы думаете, использование Apc в качестве быстрого и Memcache в качестве медленного является хорошей идеей?
apc_store
. Один только кэш кода операции делает PHP в несколько раз быстрее.apc_store()
является дополнительным бонусом.Ответы:
Memcached - это распределенная система кэширования, тогда как APC является нераспределенной - и в основном это кэш кода операции.
Если (и только если) у вас есть веб-приложение, которое должно работать на разных веб-серверах (балансировка нагрузки), вы должны использовать memcache для распределенного кэширования. Если нет, просто придерживайтесь APC и его кеша.
Вы всегда должны использовать кэш кода операции, который является APC (также APC будет интегрирован в php6 iirc, так почему бы не начать использовать его сейчас).
Вы можете / должны использовать оба для разных целей.
источник
opcode
кеш?opcode
Кэш один , который компилирует простой PHP код в машинный код ( «опкод») , а затем сохраняет его в обобщенной форме для запросов будущих (до тех пор, пока не обнаружит исходный PHP файл был изменен). Это означает, что PHP не должен запускать этот шаг компиляции при каждом отдельном запросе, что экономит время. Это только один из способов обеспечить быстрый сайт (среди многих других).Memcached, если вам нужно сохранить состояние на нескольких веб-серверах (если вы сбалансировали нагрузку и важно, чтобы содержимое кэша было одинаковым для всех серверов).
APC, если вам просто нужен доступ к быстрой памяти для чтения (и записи) на (или на каждом) сервере.
Помните, что APC может также компилировать и ускорить время выполнения вашего скрипта. Таким образом, вы можете, например, использовать APC для увеличения производительности при использовании memcached для хранения кеша.
источник
Основным преимуществом APC является кэш кода операции. Поскольку PHP 5.5 интегрировал OpCache в свое ядро и APC для PHP 5.4 по-прежнему помечен как бета-версия, это не официальное объявление, но разработка APC будет прекращена в ближайшем будущем.
Поэтому я бы порекомендовал вам выбрать Memcached.
источник
Я использую как один для скорости, так и другой для синхронизации всех моих серверов. Если вы используете memcache, помните об открытых портах, которые вам нужно будет заблокировать с помощью iptables.
источник
Привет, Thomaschaaf, я надеюсь, что это не инструмент для вас поздно, но, пожалуйста, обратите внимание, что у APC есть некоторые проблемы, связанные с "пользовательским кэшем". Короче говоря, когда вы устанавливаете тайм-ауты для записей кэша или если ваш apache падает во внутреннем коде APC (тайм-аут, например), вы можете столкнуться с некоторыми проблемами.
У меня есть запись о проблеме здесь: http://nirlevy.blogspot.com/2009/06/apc-futexwait-lockdown-make-your-apache.html , и вы также должны прочитать http: //t3.dotgnu. info / blog / php / user-cache-timebomb.html (от одного из разработчиков APC, я думаю)
источник
Я использую только APC, поскольку APC является кешем кода и действует как memcache! Только 1 файл конфигурации вместо 2.
И только 1 место для мониторинга обоих кешей .....
источник
Это зависит от того, что вы делаете, но для моих сайтов drupal, работающих на VPS, я считаю, что APC отлично работает! Если вы используете CentOS 6, он доступен как ням-обновление, настолько простое в установке и не требующее настройки, как настройки по умолчанию. Ежу понятно имхо.
источник