We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 26704
    • 115 Posts
    Доброго времени суток, сегодня с утра серьезно задумалась о том по каким критериям вызов сниппета стоит делать кешируемым или же не кешируемым. Вот то что я думаю по данному поводу:
    1. любой сниппет который использует в коде ГПСЧ автоматически получает не кешируемый вызов.
    2. снипеты, формирующие динамические части страниц, такие как формирования списка статей так же получают не кешируемый вызов. (вот тут я сильно сомневаюсь в правильности данного решения)

    Получается что через механизм кеширования можно вызывать снипеты отвечающие за построение меню и другие, подобные ему, те снипеты формирующий контент на основании документов изменение и добавление которых в течении длительного периода не планируется.

    Исходя из этого у меня в шаблоне остается лишь три кешируемых вызова, при этом 6 не кешируемых, количество запросов к базе 8штук. Вся клиентская оптимизация улетает к черту далеко. Соответственно, вновь затрагивая вопрос о построении сайтов с большим количеством материала надо строго понимать, что придется ограничится не более 1им - 2мя доп запросами к базе на страницу и при этом активно использовать лимитирование. Но мб я совершенно не права, и все не столь грустно как мне это сейчас представляется. Если я ошибаюсь, поправьте меня пожалуйста.
      • 785
      • 2,113 Posts
      Все зависит от конкретного случая. Следует учитывать, что кэш автоматически чистится после добавления новой страницы (по умолчанию), и если сайт большой и активно пополняемый, кэш будет чиститься по несколько раз в день. Построение списка статей однозначно нужно кэшировать, если он не изменится до добавления новой статьи. Да и случайный вывод в некоторых случаях можно кэшировать – если допустимо генерировать случайный вывод не для каждой загрузки страницы, а всего несколько раз в день (или реже).
      Помимо этого культивирование сокращения обращений к базе данных тоже не всегда оправдано. Ресурсы хостинга расходуются далеко не только на базу данных, и нередко MySQL является далеко не самой ресурсоемкой задачей. Чаще всего можно увидеть, что просто выполнение скриптов PHP отнимает достаточно много ресурсов, и снижение запросов к базе ситуацию мало меняет.
        Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
        Статьи о MODx, регулярно новые публикации
        • 26704
        • 115 Posts
        AKots, спасибо за ваш ответ. Не могли бы вы чуть подробнее осветить момент касательно оптимизации php скриптов? Была бы очень признательна за рекомендацию литературы на соответствующую тему (например на C++ есть масса книг описывающие самые распространенные ошибки при программировании на данном языке), мб в php комьюнити существуют аналоги? А то я пока ограничена ресурсом php.net и гуглом - для создания желаемого вполне достаточно, но вот вопросы "как же сделать лучше" уже давно копятся и лежат без ответа. Заранее спасибо.
          • 785
          • 2,113 Posts
          Quote from: Serenity at Mar 17, 2009, 09:31 AM

          Не могли бы вы чуть подробнее осветить момент касательно оптимизации php скриптов?
          Не могу, так как соответствующую литературу не читал, хотя книг по PHP очень много, так что наверняка можно найти подходящую. Но некоторые вещи лежат на поверхности – ресурсоемкие функции PHP отмечены в документации типа «Не используйте функцию preg_match(), если необходимо проверить наличие подстроки в заданной строке. Используйте для этого strpos() либо strstr(), поскольку они выполнят эту задачу гораздо быстрее».
          А вообще если не создавать порталов вроде РБК или Mai.ru, можно не слишком задумываться об оптимизации (в разумных пределах). Часто дешевле заплатить за дополнительные ресурсы хостинга, чем оптимизировать все используемые программы. Если не хватает обычного хостинга, приобретается VDS, далее физический выделенный сервер – все это не так уж и дорого, не дороже многочасовой работы квалифицированного программиста по доводке скриптов до идеала.
            Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
            Статьи о MODx, регулярно новые публикации
            • 20492
            • 13 Posts
            Что бы не создавать отдельной темы по вопросу кэширования, с Вашего позволения отпишусь здесь.

            Создал страницу под названием Blog с аннотацией "Это мой блог..."
            Потом решил переименовать страницу на "Блог" и аннотацию "бла бла бла".
            После сохранения ни чего не изменилось?!
            Уже и кэш чистил, и из разных браузерах заходил, убирал и снова ставил галочки в настройке страницу "Blog" *кэшировать*, *очищать кэш* ... Не могу понять в чем беда.

            Может кто знает??
              • 20492
              • 13 Posts
              Все разгреб проблему))) grin
              Вот я "осел" прописал в чанке <div id="title">Blog</div> и пытаюсь в настройках страницы что-то изменить, ща спец тэг вставлю и все оки будет smiley
                • 7571
                • 135 Posts
                Так в каких случаях лучше кэшировать материал, а в каких не стоит? Это не может быть связано с тем, что в IE 7, когда нажимаю на кнопку меню или внутреннею ссылку, страница "мигает", в Firefox такого нет.
                  • 7571
                  • 135 Posts
                  Так в каких случаях лучше кэшировать материал, а в каких не стоит?