По моему опыту, кэширование на уровне приложений редко является правильным подходом к исправлению проблем с производительностью и почти всегда вызывает больше проблем, чем решает.
Перед тем как приступить к кешированию, вам необходимо:
(i) профилируйте ваше приложение и запросы, которые оно делает, чтобы увидеть, можете ли вы обратиться к ним напрямую (например, шаблоны запросов, которые являются слишком широкими (выборка столбцов, которые не отображаются)) или слишком глубокими (например, выборка большего количества строк, чем вы отображаете) ), слишком часто (из-за отложенной загрузки может быть больше обращений, чем нужно), слишком дорого (плохой дизайн таблицы может означать больше соединений, чем нужно), или сами таблицы могут быть проиндексированы неправильно;
(ii) целостный взгляд на ваш веб-сайт и опыт пользователя, чтобы увидеть, как вы можете улучшить воспринимаемую производительность (например, установить надлежащие заголовки кеша на уровне браузера для статического контента). Использование AJAX может и представление с постраничной сеткой, такое как jQGrid, может исключить множество обращений к базе данных, пока пользователь просматривает записи, потому что остальная часть содержимого страницы не меняется.
После того, как вы исчерпали решение реальной проблемы, вы можете быть готовы рассмотреть кеширование.
Но прежде чем сделать это, сделайте простой расчет: сколько будет стоить модернизация сервера в сравнении с временем разработки и тестирования, которое вы потратите на внедрение кэширования и отслеживание нечетных проблем устаревшего кэша? Иногда дешевле просто обновить ...