Основное использование
Последнее обновление Oct 10th, 2026 | История страницы | Улучшить эту страницу | Сообщить о проблеме
Support the team building MODX with a monthly donation.
The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.
Backers
Budget
$194 per month—let's make that $500!
Learn moreСоздадим сниппеты¶
Сниппет 1: запись в кэш¶
Создайте сниппет с названием writeCache:
$cacheManager = $modx->getCacheManager();
$x = date('H:i:s');
$cacheManager->set('my_cache_key',$x);
return $x;
set() принимает второй аргумент по ссылке. Литерал — $cacheManager->set('my_cache_key', date('H:i:s')) — приведёт к фатальной ошибке PHP, поэтому метка времени сначала попадает в $x.
Поместите сниппет на кэшируемый ресурс, например «Страница 1»:
[[writeCache]]
Сниппет 2: чтение из кэша¶
Создайте сниппет с названием readCache:
$cacheManager = $modx->getCacheManager();
return $cacheManager->get('my_cache_key');
Поместите этот сниппет на другой ресурс, не кэшируемый, например «Страница 2»:
[[!readCache]]
Посмотрим на результат¶
- Откройте «Страницу 1». Вы увидите метку времени, например «11:44:55».
- Откройте «Страницу 2» в другой вкладке браузера. Показывается та же метка, и она не меняется — ожидание её не изменит.
Теперь очистите кэш сайта (Содержимое → Очистить кэш) и снова откройте оба ресурса.
Метка времени записывается только при первом заходе на «Страницу 1» после очистки; второй заход отдаётся из кэша ресурса.
Снова очистите кэш сайта, затем откройте «Страницу 2», не заходя на «Страницу 1».
readCache не возвращает ничего: кэш пуст, а writeCache не запускался после очистки.
Теперь вызовите writeCache без кэширования:
[[!writeCache]]
- Откройте «Страницу 1». Метка времени меняется при каждом запросе.
- Откройте «Страницу 2». Показывается метка из последнего запроса к «Странице 1» — кэшированное значение, которое вызов без кэширования не меняет.
Резюме¶
Оба сниппета пишут в раздел default и читают из него, поэтому их данные очищаются вместе с кэшем сайта (Содержимое → Очистить кэш). Сниппету, который так владеет своим выводом, не нужен собственный раздел для кэширования.
Чтобы кэшированные данные пережили очистку кэша сайта и истекали сами, см. Время жизни.
Support the team building MODX with a monthly donation.
The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.
Backers
Budget
$194 per month—let's make that $500!
Learn more










