Кэшируемые сниппеты с помощью XPDO в MODX Рево

Назад

Хочу обсудить очень важный момент, и это было все довольно просто, который поможет вам ускорить работу сайта при написании своих сниппетов.

Многие razrabotciki делают мои фрагменты, они не кэшируют, вы потеряете скорость сайта, и эти фрагменты могут быть выполнены за несколько секунд (ну, если он очень крут), даже если выполняется в течение 0,1 секунды, это еще время.

А теперь представьте, если мы резче он будет работать в течение 0,001 секунды.

Поэтому, если наш фрагмент выполняется в течение 3 секунд, а затем вы просто кэшировать его, и он будет стрелять на 0,001, что приятно.

Покажу вам, как легко это реализовать кэширование их фрагментов.

Пример:

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

В XPDO для этого есть «cacheManager», мы будем использовать два метода «set» и «получаете».

Вот как кэш:

// Если кэш есть, то пишите его до $выход
если (!$вывод = $в MODX->cacheManager->получить(‘cacheVarName’)) {
// Если нет кэша, то мы вам их данных и записать его в $выходной
// А затем написать $выход в кэш
$в MODX->cacheManager->набор(‘cacheVarName’, $выход, 3600);
}
возврат $выход;

Некоторым для восприятия этого кода будет проще.

если ($в MODX->cacheManager->получить(‘cacheVarName’)) {
// Если кэш
$вывода = $в MODX->cacheManager->получить(‘cacheVarName’);
}еще{
// Если кэш не имеет
// Получаем $выход
$выход = ‘переменная’;
// Запись в кэш
$в MODX->cacheManager->набор(‘cacheVarName’, $выходной, 5);
}

возврат $выход;

Вкратце поясню:

$в MODX->cacheManager->набор(‘cacheVarName’, $выход, 3600);

  • cacheVarName — имя переменной в кэш;
  • $выход — это использовать кэш.
  • 3600 — это время жизни кэша.

$в MODX->cacheManager->получить(‘cacheVarName’)

Данные, полученные для кэша по имени.

Это лишь краткое и базовое учебное пособие, Подробнее см. официальную документацию.