К содержанию

pdoMenu и кеширование

Задался вопросом по pdoMenu и кешированию.
Что будет если сделать кешированный вызов с данными параметрами, какое ускорение работы?
Есть ли толк от 3-х минутного кеширования при таком вызове?

Пример вызова:
[[pdoMenu?
  &cache=`1`
  &cacheTime=`180`
  &fastMode=`1`
...
Павел Левин
Павел Левин
13 февраля 2015, 12:34
modx.pro
2 723
Реклама

Комментарии: 13

Василий Наумкин
Василий Наумкин Администратор
13 февраля 2015, 15:46
В чем смысл подобных вопросов?

Замерь скорость загрузки страницы с кэшированием и без. Сравни. Сделай выводы.
    Павел Левин
    Павел Левин Проверенный
    13 февраля 2015, 16:02
    Мне интересен принцип взаимодействия параметров и кешированного вызова м.б. это бессмыслица.
      Василий Наумкин
      Василий Наумкин Администратор
      13 февраля 2015, 16:11
      Каких параметров? Какого взаимодействия?

      Кэшированный сниппет выполняется один раз и сохраняется в кэш. Второй раз не выполняется, пока кэш не будет очищен. Некэшированный выполняется каждый раз при загрузке страницы.

      Какие, блин, могут быть вопросы?
        Павел Левин
        Павел Левин Проверенный
        15 февраля 2015, 21:30
        Не злись, все хорошо =)
    Сергей Шлоков
    Сергей Шлоков Эксперт
    13 февраля 2015, 16:23
    Исходя из логики эти параметры будут работать только при вызове некешированного сниппета. Просто сниппет будет брать данные не из БД, а из кэша.
      Павел Левин
      Павел Левин Проверенный
      15 февраля 2015, 21:29
      Да, вот я не мог этого понять, ну как бы логично, но странно, раз есть параметры и такое сочетание… меня это и смутило.

      Получается невозможно взять и закешировать меню разом на всех страницах?

      Ведь когда меню не маленькое, оно требует времени, а если сразу закешировать его и далее метить активное js'ом, то можно выиграть не мало времени.
        Сергей Шлоков
        Сергей Шлоков Эксперт
        15 февраля 2015, 22:20
        Получается невозможно взять и закешировать меню разом на всех страницах?
        Почему нельзя, можно. Вызываешь кэшированный сниппет pdoMenu и все.
        Да можно даже и не кэшированный
        [[!pdoMenu?
          &cache=`1`
          &cacheTime=`180`
          &fastMode=`1`
        ...
        Сниппет будет тянуть меню не из базы, а из массива-кэша (со второго раза). Что тоже очень быстро.
        Но для главного меню, которое редко меняется, лучше первый вариант. Я использую именно его
        [[pdoMenu ...]]
          Руслан Кундиус
          Руслан Кундиус Старожил
          16 февраля 2015, 03:07
          У каждой страницы будет свой кэш. Товарищ же хочет что бы был общий)
            Сергей Шлоков
            Сергей Шлоков Эксперт
            16 февраля 2015, 09:41
            Для этого нужно вызывать так
            [[!pdoMenu?
              &cache=`1`
              &cacheTime=`180`
              &fastMode=`1`
            ...
            Не внимательно читаешь )
              Пётр Молчанов
              Пётр Молчанов Старожил
              16 февраля 2015, 11:49
              А что делает fastMode? в доках ни слова об этом параметре
              Руслан Кундиус
              Руслан Кундиус Старожил
              16 февраля 2015, 12:36
              Да, точно
          Олег Максименко
          16 февраля 2015, 02:06
          Можно. Сниппет menuCaching это умеет делать.
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        13