В общем случае кэшировать имеет смысл именно на уровне модели.Хотел поинтересоваться, а ведь правильно понимаю, что кэшировать на уровне моделей (т.е. так понимаю это извлечение данных из БД) - имеет смысл только тогда, когда там определены "довольно сложные и емкие mysql-запросы"?
Т.е. кэшировать на уровне моделей что-то типа SELECT * FROM table WHERE ... не имеет смысла?
И проще закэшировать вывод HTML-кода как в шаблон, и после проверять есть ли кэш этого шаблона, или нет.
Допустим, на всех 100500 страницах сайта есть 5 последних новостей. Добавилась новость. Сбрасываем кэш всего сайта?
HTML-кэш может быть дополнительным, но в большинстве случаев он будет малоэффективен. Более того, я уверен, что типичная наивная реализация такого кэша на основе, скажем, memcached будет _медленнее_, чем если этот кэш тупо убрать (конечно, при наличия кэша на уровне моделей и вменяемом template engine). Если же сайт "почти статический" - нужно генерировать html-файлы и отдавать их напрямую веб-сервером, минуя php.
Последнее редактирование: