Мне нужна помощь, чтобы найти правильное решение для кэширования сайта клиента. Текущий сайт - centoOS, php, mysql, apache, использующий шаблоны smarty (я знаю, что они отстой, но он создан кем-то другим). Текущие модели / методы используют довольно хорошую ОО-структуру, но есть много способов выполнить некоторые простые функции страниц. Я пытаюсь найти какое-то решение для кэширования, но я нуб, когда дело доходит до этого, и не знаю, что доступно, что бы соответствовать текущей настройке сайта.
Это сайт типа аукциона, где, например, на одной странице отображается одновременно 10 аукционов - время и текущая ставка на каждом аукционе обновляются с помощью вызова ajax, возвращающего json каждую 1 секунду (это сайт аукциона с копейками, такой как beezid. com, так что обновления каждую секунду необходимы). Как видите, если сайт получает какой-либо трафик, количество одновременных запросов может быть огромным. Очевидно, что эти данные изменяются каждую секунду, поскольку возвращаемые данные json имеют обновленное время, оставшееся на аукционе, и, возможно, обновленные суммы заявок и пользователей ставок для каждого аукциона.
Что я хочу, так это возможность кэшировать определенные страницы в течение заданного промежутка времени или на основании другой измененной переменной. Например, память кэширует страницу, которая отображает 10 аукционов, и обновляет эту копию кэша только после окончания одного из аукционов. Или даже сценарий выше, который возвращает данные строки json каждую секунду. Если бы я смог кешировать первый запрос к этой странице в памяти, обработать следующие запросы из памяти, а затем повторно кешировать его через 1 секунду, что потенциально может значительно снизить нагрузку на сервер. Но я не знаю, возможно ли это вообще, или затраты на выполнение подобных действий перевешивают экономию нагрузки на любой запрос.
Я немного изучил xcache, но не смог найти способ установить конкретное время кэширования на определенной странице или на основе других переменных?!? Может быть, я что-то пропустил, но есть ли у кого-нибудь рекомендации по схеме кэширования, которая бы работала для этих требований?
Большое спасибо за любой вклад, который у вас может быть ...