Я планирую добавить APC или MEMCACHED в свой PHP-код! мой вопрос в том, требуется ли переписать весь код? как я смотрел в PHP Manual, и там я получил это!
function get_foo(foo_id) foo = memcached_get("foo:" . foo_id) return foo if defined foo foo = fetch_foo_from_database(foo_id) memcached_set("foo:" . foo_id, foo) return foo end
Итак, для хранения переменной мне нужно сделать memcached_set (…), или это похоже на то, что я добавляю плагин и получаю повышение производительности!
Я понятия не имею о APC / Memcache, поэтому любое обсуждение этого приветствуется
С APC вы сначала получаете кеш-код операции – для этой части вам нечего изменять в коде: просто установите расширение и включите его.
Кэш опкодов, как правило, ускоряет работу: он предотвращает компиляцию скриптов PHP снова и снова, сохраняя коды операций – результат компиляции файлов PHP – в памяти.
Затем APC и memcached позволяют хранить данные в памяти; Как правило, это используется для кэширования результатов длительных / дорогостоящих операций (таких как сложные SQL-запросы, вызовы веб-сервисов, …) .
Об этом нет никакой магии: вам придется немного закодировать, хранить данные в кеше и извлекать их из нее – выполнять длинную / дорогостоящую операцию, если данные не находятся в кеше или срок действия кеша истек.
Вот несколько вопросов / ответчиков, которые могут получить дополнительную информацию:
Сначала вы получите повышение производительности только для установки APC. Когда скрипт выполняется, он запускается через Zend_Compile, который превращает ваш PHP-код в OPCODES, который затем запускается через Zend_Execute для запуска. Процесс превращения PHP в OPCODES идентичен каждый раз, когда загружается страница, поэтому делать это снова в следующий раз – это отходы. APC (Alternative PHP Cache) сохраняет эти коды операций в памяти, поэтому в следующий раз он может пропустить этот шаг и ускорить загрузку страницы.
Когда дело доходит до кэширования в вашем скрипте, вам нужно будет внести некоторые изменения. Вы можете делать эти изменения постепенно с течением времени, получая немного больше производительности каждый раз, поэтому вам не нужно беспокоиться о том, чтобы делать все сразу. Если у вас есть один сервер, я бы использовал APC, если у вас может быть несколько серверов в будущем, я бы пошел с Memcache.
Низкие висячие фрукты для улучшения производительности: