Есть запрос, результат которого может менятся максимум раз в месяц. Как закешировать результат запроса? Сам запрос используется приложениями очень часто. Выполняется запрос несколько сек. (1-5 сек. в зависимости от нагрузки сервера)
не кислый запросик!!! Может для начала оптимизировать его, ну если конечно это реально. Ну а потом положить в мемкеш. Еще попробуй результат залить в файл, иногда тоже помогает, особенно когда нет мемкеша.
$key = 'sql1'; $res = $memcache->get($key); if($key === false) { $res = $db->queryobjects('SELECT...'); $memcache->set($key,$res,(время в секундах)) } далее рабоатаем с $res как ни в чем не ьбывало
как долго будет жить $res ? надо чтобы результат "жил" от первого запуска запроса до перезагрузки и сервера, после перезагрузки также от первого запуска до новой перезагрузки - другими словами всегда был в памяти или что-то типа того
мемкешь это типа демона, сохраняющий данные в ОЗУ, тобишь работает от перезагрузки до перезагрузки. Он должен специально устанавливаться на сервере.
тут больше лучше подойдет обычный файловый кеш. Код (Text): file_put_contents($filePath, serialize($queryResult)); и $queryResult = unserialize(file_get_contents($filePath))
для всего есть свои цели. иногда — лучше файлы. если достаточно масивная выборка, то зачем грузить так сильно мемкеш тем, что можно вполне хранить в файле?
не правда, есть спектр цветов, но большинство фломастеров не разные, а похожи по цвету на другой фломастер (например красные, или зеленые). более того, на мой субъективный вкус — все фломастеры одинаковые. Различия совершенно незначительный и, по моему мнению, связанные со сторонними факторами, такими, как: настроение, уровень сытости и уровень загрязнённости фломастера.
это точно, а вот символы, которые рисуются фломастерами могут быть разного цвета! Причем даже когда рисуешь одним фломастером. Это очень напрягало в детстве. Это типа не в мемкеш? Это как?