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

Skyfire

Новичок
Добрый день, интересует вопрос, возможно ли средствами php произвести кэширование определенных результатов выборки. К примеру есть сервер с огромной БД, результат по некоторым SELECTам из неё занимаем 5-10 сек, а обращения к данной странице могут быть достаточно частыми. Хотелось бы устанавливать для определённых (не всех) SELECTов в скрипте кэш, который бы имел TTL скажем 3 минуты. Каким образом это можно реализовать?
 

Skyfire

Новичок
почему то мне кажется что это больше походит на "костыль"...
 

ksnk

прохожий
При времени выполнения запроса в 5 секунд даже хранение кэша в специальной таблице той-же базы будет эффективно. Чем не устраивают файлы? Возможно интересно будет memcached...
 

Skyfire

Новичок
Хотелось бы более универсальное решение, т.к. плодить файлы/таблицы по каждой выборке (которых может быть много) не хотелось бы. По поводу memcached - спасибо, посмотрю сегодня вечером. Если есть ещё какие либо варианты - буду рад услышать.
 

Beavis

Banned
почему то мне кажется что это больше походит на "костыль"...
что именно костыль? "запоминать" или "в файле"?
по-поводу "запоминать" - no comments, а насчет того где - это уже как хотите, можете в файле, можете в памяти, можете ещё что-нибудь придумать
но вообще mysql сам умеет кешировать запросы
 

Skyfire

Новичок
запоминать == кэшировать, это понятно.
Костылём я назвал запись в файл/таблицу (это ИМХО).
можете в памяти, можете ещё что-нибудь придумать
Собственно вопрос то в этом и заключается, как лучше/быстрее/проще.
По поводу кэширования самой БД, в моём примере используется Postgres, возможно в ней также есть подобный функционал, буду рад если кто-нибудь поделится ссылочкой на мануал/функцию.

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

С.

Продвинутый новичок

weregod

unserializer
есть ещё вариант - межбитные вакуоли, туда всё и скидывать
 
Сверху