Кэширование результатов выборки

  • Автор темы Автор темы Skyfire
  • Дата начала Дата начала

Skyfire

Новичок
Добрый день, интересует вопрос, возможно ли средствами php произвести кэширование определенных результатов выборки. К примеру есть сервер с огромной БД, результат по некоторым SELECTам из неё занимаем 5-10 сек, а обращения к данной странице могут быть достаточно частыми. Хотелось бы устанавливать для определённых (не всех) SELECTов в скрипте кэш, который бы имел TTL скажем 3 минуты. Каким образом это можно реализовать?
 
почему то мне кажется что это больше походит на "костыль"...
 
При времени выполнения запроса в 5 секунд даже хранение кэша в специальной таблице той-же базы будет эффективно. Чем не устраивают файлы? Возможно интересно будет memcached...
 
Хотелось бы более универсальное решение, т.к. плодить файлы/таблицы по каждой выборке (которых может быть много) не хотелось бы. По поводу memcached - спасибо, посмотрю сегодня вечером. Если есть ещё какие либо варианты - буду рад услышать.
 
почему то мне кажется что это больше походит на "костыль"...
что именно костыль? "запоминать" или "в файле"?
по-поводу "запоминать" - no comments, а насчет того где - это уже как хотите, можете в файле, можете в памяти, можете ещё что-нибудь придумать
но вообще mysql сам умеет кешировать запросы
 
запоминать == кэшировать, это понятно.
Костылём я назвал запись в файл/таблицу (это ИМХО).
можете в памяти, можете ещё что-нибудь придумать
Собственно вопрос то в этом и заключается, как лучше/быстрее/проще.
По поводу кэширования самой БД, в моём примере используется Postgres, возможно в ней также есть подобный функционал, буду рад если кто-нибудь поделится ссылочкой на мануал/функцию.

UPDATE:
кажется нашёл то что мне нужно - PostgreSQL Query Cache (pqc). Сегодня попробую.
 
Сверху