1. PHP / Говнокод #25467

    0

    1. 1
    <?php

    Интересно, а бывает ли в "PHP" такое, чтобы страница не генерилась при каждом запросе, а только один раз при изменениях в БД, и отдавалась статическая страничка.

    Запостил: COTOHuHCKuu_nemyx, 23 Марта 2019

    Комментарии (19) RSS

    • СЯО
      Ответить
    • Некоторые форумы кэшируют HTML-код, полученный из BB-кодов, чтобы при каждом просмотре не вызывать конвертор BB→HTML, но всё равно обычно собирают страницу из частей.

      А кэшируют ли страницу целиком, я не знаю. Теоретически это возможно.
      Ответить
    • показать все, что скрытоvanished
      Ответить
      • Я разведал:

        У вордпресса искоропки нет, но есть куча плагинов, например этот:
        http://wordpress.org/plugins/wp-super-cache/

        У битрикса есть:
        https://dev.1c-bitrix.ru/learning/course/index.php?COURSE_ID=43&LESSON_ID=3485

        У "yii" я нашёл только про кеш переменных и кеш запросов к БД.

        Про наш любимый "MZZ" либо ничего не находится, либо находится говнокод.
        Ответить
        • Страницы, у которых нет get-параметров и которые не принимают post-запросы, доступные всем анонам, можно тупо генерировать cron'ом или ещё чем-нибудь и складывать в docroot.

          С другими сложнее: нужно определять, зависит ли содержимое от сессии юзера (от cookies), от get-параметров, ещё от чего-нибудь, т. е. нужен полноценный контроллер (в смысле MVC). Нужно принимать решение, какую фигню хранить в кэше, а какой не сто́ит засорять хранилище.
          Ответить
    • Это же задача для реверс прокси. Впрочем пыхари редко отдают нормальные заголовки, по которым это можно делать.
      Ответить
      • Как реверс-прокся узнает, что в базе что-то поменялось?
        Ответить
        • З.Ы. А, понял, просто кидаешь ей not modified.
          Ответить
          • Бывает даже что вообще никак, листаешь на вторую страницу и видишь немного контента с первой. А первая не обновляется, лол.
            Ответить
    • Раньше сток на ГК именно так и работал... Только редактирования комментов не засчитывало за "изменения в БД".
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • nginx cache к примеру
      Ответить
    • показать все, что скрытоvanished
      Ответить
    • был у меня как-то на поддержке проект, где пыха в бэкенде генерила хтмл-страницы(типа кэш такой) и апач лил юзеру их. но это конченое извращение.
      Ответить

    Добавить комментарий