CacheAccelerator для MODx Evo. Уменьшение в разы количества запросов к базе за счет кэширования динамических сниппетов
9 min
Всем привет. Я совсем недавно познакомился с MODx CMF. Осваиваю в данный момент версию Evolution. Система в целом довольно приятная и очень гибкая, однако, ознакомившись поближе, я обнаружил ряд недостатков. Причем некоторые из них не давали мне никакого покоя и оставлять как есть я никак не смог.
Остановлюсь на одном из самых чувствительных критериев любой CMS/CMF — производительности.
В целом, с производительностью у MODx все норм. Сам он написан достаточно грамотно, оптимизирован. Более того, за счет своей гибкости, дает разработчику возможность самому управлять узкими местами в реализуемом проекте.
Тем не менее, меня просто шокировал метод обработки вывода новостей с помощью Ditto, комментариев с помощью Jot и тд. А именно, необходимость отключать кэширование как для всей страницы у Ditto (из-за проблем в работе с PHx), так и для вызова самого сниппета у Jot.
Ведь, если записей достаточно много, то на одной странице они не поместятся, а это значит что, например, новостную ленту нужно разбивать на несколько страниц. Но, если в MODx включено кэширование этой страницы, то при переходе между частями новостной ленты, мы увидим все то же содержимое, которое первое попало в кэш!
Что же советуют официальные источники?
Они советуют, чтобы сниппеты, работающие с несколькими
страницами, никогда не кэшировались.
Остановлюсь на одном из самых чувствительных критериев любой CMS/CMF — производительности.
В целом, с производительностью у MODx все норм. Сам он написан достаточно грамотно, оптимизирован. Более того, за счет своей гибкости, дает разработчику возможность самому управлять узкими местами в реализуемом проекте.
Тем не менее, меня просто шокировал метод обработки вывода новостей с помощью Ditto, комментариев с помощью Jot и тд. А именно, необходимость отключать кэширование как для всей страницы у Ditto (из-за проблем в работе с PHx), так и для вызова самого сниппета у Jot.
Ведь, если записей достаточно много, то на одной странице они не поместятся, а это значит что, например, новостную ленту нужно разбивать на несколько страниц. Но, если в MODx включено кэширование этой страницы, то при переходе между частями новостной ленты, мы увидим все то же содержимое, которое первое попало в кэш!
Что же советуют официальные источники?
Они советуют, чтобы сниппеты, работающие с несколькими
страницами, никогда не кэшировались.