Я запускаю проект Symfony 1.4 с очень большим объемом данных.Главная страница и страницы категорий используют пейджеры, которые должны знать, сколько строк доступно.Я передаю запрос, который содержит присоединения к пейджеру, что приводит к времени загрузки на этих страницах 1 минуты.
Я настроил cache.yml для соответствующих действий.Но я думаю, что обходной путь недостаточен, и вот мои предположения:
Symfony перестраивает кэш в рамках одного запроса, сделанного пользователем.Давайте назовем этого пользователя «кеш-жертвой» для упрощения вещей.
В нашем случае данные должны обновляться - для этого достаточно 10 минут.Очевидно, что кеш не будет перестроен, если ни один пользователь не хочет быть «жертвой кеша» и поэтому просто отменяет запрос.Верны ли эти предположения?
Итак, я пришел к мысли, что Symfony должен подделать http-запрос после восстановления кеша.Новые записи кэша должны быть записаны во временный файл / каталог и заменены предыдущими записями кэша, как только завершится перестройка кэша.
Возможно ли это?
ВПо моему мнению, это похоже на концепцию двойной буферизации.
Не было бы глупо, если бы в многопользовательской игре была одна «жертва gpu», которая видит, как экран строится построчно?(Это однобокое сравнение, я знаю ...;))
Редактировать
Нет «кеш-жертвы» - каждые 10 минут перезагрузки страницызанимает 1 минуту для каждого пользователя.