Также есть способы обхода (не решения, а именно обхода) проблемы большой карты ресурсов: 2.Хранение кэша в оперативной памяти (memCached) 3.Раскидывание ресурсов по разным контекстам (не всегда удобно, поскольку при необходимости загружать одни и те же ресурсы в разных контекстах придётся либо плодить символические ссылки, либо использовать (OnPageNotFound + sendForward))
Эти варианты обхода практически бесполезны. Во-первых, проблема не только в хранении этого большого кеша, а в самой генерации кеша. Ведь каждый раз при сбросе кеша MODX должен в базе данных обойти все документы и нафигачить их в кеш. Когда у вас будет под сотню тысяч документов, средний сервер просто не справится с этой задачей, кеш соберется не полностью и сайт просто сломается (из-за попытки подгрузки невалидного php-кода). Во-вторых, раскидывая документы по разным контекстам, объем задач по генерации кеша не уменьшается, так что это только снижает объем загружаемого кеша при заходе на конкретный контекст, но нагрузка на сервер при генерации кеша хоть и не на много, но все же увеличится. В-третьих, сколько же вам контекстов понадобится, чтобы раскидать по ним пару сотен тысяч документов? В общем, на сегодня, эти проблемы решает только cacheOptimizer. И да, при обновлении MODX его надо переустанавливать, без этого никак. Не знаю планируют ли разрабы MODX-а что-то придумать на этот счет, но я решение придумал еще в 2011-ом. Там конечно картинок уже нет и код местами плохочитаемый, но суть уловить можно.
А вообще, тема кеширования в MODX на столько сложная, что вот так небольшими топиками о ней рассуждать почти нет смысла. Там книги писать можно.