2014-11-29 4 views
15

Привет всем, просто вопрос, связанный с OPcache, потому что я не понял его и нашел ответ на Google:Что такое расширение пользовательского кэша APCu в PHP?

Когда мы говорим о кэшировании userland, что это значит? Я знаю, что PHP предварительно связан с новым расширением Zend OPcache и что это расширение кэширует код op в ram, чтобы не слишком сильно нагружать процессор, который должен конвертировать в op-код источник PHP по каждому запросу, , но как насчет APCu когда они говорят, что он реализует кэширование пользовательских прав?

Что такое кэширование пользовательских прав? Можно ли объединить APCu и Zend OPcache, или нет? Должен ли использоваться Zend OPcache вместо APCu?

Спасибо за внимание, надеюсь, что кто-то выяснит мои сомнения!

ответ

15

APCu был действительно разработан Джо Уоткинсом в ответ на OPcache. APC поддерживает как кэширование операций, так и кэширование данных, но с проблемами стабильности в кэше поддержки opcode с PHP 5.4. После того, как Zend Inc открыл источник Opcache и разместил его под лицензией PHP, он стал основным и предпочтительным кэшем кода операции с PHP 5.5. Но поддерживает только кеширование кода операции, а не кеширование данных.

Joe's APCu - это, по сути, урезанная версия APC, которая включает только код кэширования данных и предназначена для использования вдоль стороннего OpCache , если требуется кэширование данных.

Обратите внимание, что в то время как кэширование Opcode прозрачно на уровне исходного кода, кэширование данных не является. Ваше приложение должно быть явно закодировано для его использования. (Хотя стандартные приложения PHP, такие как Wordpress, Drupal, phpBB, MediaWiki, ... включают эту поддержку по умолчанию).

+3

Итак, APCu реализует функции кэширования данных в памяти, такие как система кэширования Memcached? Я прав? – tonix

+4

Подобно, но отличается тем, что Memcached является внепроцессным и RPC-совместимым, поэтому он является кластерным и по своей сути более масштабируемым - хотя и при большей накладной для каждого вызова. APCu использует область разделяемой памяти и библиотеку спинблока PostgreSQL, поэтому большинство вызовов API находятся в процессе без ожиданий, поэтому они очень легкие, но не масштабируемые за пределами сервера. – TerryE

+0

Спасибо за ваш ответ и объяснение! – tonix

 Смежные вопросы

  • Нет связанных вопросов^_^