Вопрос по кэшированию или php-акселераторам?

Тема в разделе "PHP", создана пользователем ruslanos, 21 фев 2012.

Модераторы: latteo
  1. ruslanos

    ruslanos Постоялец

    Регистр.:
    5 мар 2010
    Сообщения:
    115
    Симпатии:
    20
    Здравствуйте уважаемые программисты, я не программист в настоящее время выбираю CMS на PHP, для увеличения производительности хочу использовать кэширование.
    Для CMS Wordpress есть плагин:
    WP Super Cache
    http://wordpress.org/extend/plugins/wp-super-cache/
    и многие другие...
    также Wordpress поддерживает APC cache, eaccelerator и т.д...

    Общался по почте с другими производителями CMS, кто-то говорит, что не поддерживает APC cache, eaccelerator и другие... А у некоторых CMS вовсе нет отдельного плагина для кэширования.

    Вопросы:
    1. Может ли производиться кэширование в скрипте используя плагины кэширования или PHP-акселераторы отдельно.
    Например:
    А. кэшировать запросы используя только плагин кэширования БЕЗ PHP-акселератора?
    Б. кэшировать запросы используя только PHP-акселератор БЕЗ плагина кэширования?
    В. Или это одно целое, где плагин для кэширования нужен скрипту в качестве моста для PHP-акселератора?

    2. Что значит поддежка APC cache, eaccelerator, xCache - нужно чтобы программист заранее писал скрипт с поддержкой этих акселераторов? С любым скриптом эти акселераторы работать не будут?
     
  2. KillDead

    KillDead

    Регистр.:
    11 авг 2006
    Сообщения:
    883
    Симпатии:
    540
    кеширование и акселератор немного из разных опер.
    Акселератор — кэширует именно исходник - вначале пхп читает исходник и генерирует код, который будет исполнять. Чтобы избежать постоянных генераций такого кода и используют Акселератор .
    Кэширование в общем случае обычно понимают как сохранение результата какойто работы скрипта (к примеру вывод новостей в категории, при поиске в категории, найденные новости сохраняются в файл и затем уже берутся не из базы а из файла, при изменении новости в этой категории файл перезаписывается)
    И первое никак не влияет на работу движка, то кэширование - во первых требует чтобы в самом движке это было реализовано. Во вторых - оно останавливает всякое выполнение (скажем если кеширование будет просто по времени, то за это время страница никак не изменится даже если новости отредактировать ).
    Конечно, есть вариант кеширования всей страницы- т.е выше я говорил о сохранении в темп новостей, другой контент будет меняться (напр модуль случайная картинка), а можно превратить свой сайт в статичный.
     
  3. ruslanos

    ruslanos Постоялец

    Регистр.:
    5 мар 2010
    Сообщения:
    115
    Симпатии:
    20
    Спасибо, уточняю:
    Если разработчик заявляет о кешировании, это означает, что он реализовал данную возможность в своем продукте - это понятно!
    Вопрос, что такое: "Smarty cache"?

    По поводу Акселераторов: при разговоре с разработчиками выяснилось, что их скрипты поддерживают APC, другой поддерживает eaccelerator, третий не поддерживает вообще ничего.
    То есть получается, что Акселераторы работают только со скриптами у которых реализованна поддержка того или иного акселлератора?
     
  4. Бобр Добр

    Бобр Добр

    Регистр.:
    17 янв 2010
    Сообщения:
    242
    Симпатии:
    37
    Smarty это шаблонизатор, он к примеру в livestreet используется. НащётSmarty cache смотрите тут: http://www.smarty.net/docsv2/ru/caching.tpl

    Насколько я знаю то cms не как не зависят от акселераторов. То есть код любой cms можно кэшировать в акселераторе.

    ПС. Вы походу путаете кэширование информации (WP Super Cache) и кэширование байт кода(акселераторы).
     
  5. ruslanos

    ruslanos Постоялец

    Регистр.:
    5 мар 2010
    Сообщения:
    115
    Симпатии:
    20
    в этом я уже понял, но я ранее задавал вопросы производителям CMS они мне в открытую сказали, что не поддерживают акселлераторы
     
  6. ruslanos

    ruslanos Постоялец

    Регистр.:
    5 мар 2010
    Сообщения:
    115
    Симпатии:
    20

    то есть - это приблизительно тоже о чем говорил KillDead ?

     
  7. Бобр Добр

    Бобр Добр

    Регистр.:
    17 янв 2010
    Сообщения:
    242
    Симпатии:
    37
    Да, Smarty cache, это кэш информации, а не байт кода.
     
  8. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.405
    Симпатии:
    1.185
    Столкнулся на одном из демо хотингов с включенным APC: если скрипт изменить, минут 5 надо подождать пока изменнения можно будет увидеть через F5, либо чтобы не ждать дописывать случайный $_GET. Управлять поведением кеширования можно из скрипта строчкой header("Cache-Control: max-age=1"); 1 - в данном случае 1 секунда. Так что те, кто отвечают, что не поддерживают их CMS APC cashe, не сильно грешат против истины, но и добавить такую поддержку не так сложно :)
     
  9. ruslanos

    ruslanos Постоялец

    Регистр.:
    5 мар 2010
    Сообщения:
    115
    Симпатии:
    20
    я про тоже говорю, спрашивал у производителей CMS напрямую:
    -"Здравствуйте, APC акселлератор поддерживаете?"

    Ответ SkaDate.com -"Нет, мы поддерживаем Smarty!" (как выяснилось выше это совсем другая тема)
    Ответ OsClass "Нет, но вы можете самостоятельно сделать это." ))
    Ответ OXY "Нет, пока это не реализовано, но есть в планах."
    Вот, как-то так получалось...
     
  10. uNknownMark

    uNknownMark

    Регистр.:
    22 сен 2007
    Сообщения:
    393
    Симпатии:
    169