Является ли кэширование по URL хорошей практикой? - PullRequest
4 голосов
/ 18 ноября 2011

Я строю довольно большую и сложную CMS на PHP, и я планирую реализовать кэширование на некоторых ее частях (с возможностью включения / выключения кэша для определенных страниц / разделов). После некоторых исследований я пришел к выводу, что использование URL-адреса будет наилучшей практикой для поиска и получения файла cahced. Мое намерение состоит в том, чтобы реализовать решение «целой страницы», чтобы избежать навязчивого кэширования запросов и кэшировать всю страницу для всех страниц, которые должны быть кэшированы.

Псевдокод будет выглядеть следующим образом (без изменения даты):

$filename = md5($the_full_url);

if (file_exists($filename)) get_cached_file($filename);

else write_cached_file($filename);

Можно ли считать такой подход хорошей практикой?

1 Ответ

6 голосов
/ 18 ноября 2011

Я думаю, это зависит от того, есть ли на странице сгенерированный пользователем контент, например, если я просматриваю страницу и вы просматриваете страницу, получаем ли мы разные страницы или одну и ту же страницу?Есть ли какая-либо форма «динамического» контента на странице.

Кэши полностраничных страниц наиболее экономичны, ЕСЛИ страница не будет меняться в зависимости от пользователя.Если их можно изменять в зависимости от пользователя, вы можете кэшировать с помощью [url.sessionid], если нет, то кэширование по полному URL-адресу вполне подойдет.

Другая альтернатива - кэширование частей страницы, которые, как правило, остаются постоянными (например, записи в блогах)

Наконец, существует кэширование данных, при котором вы просто кэшируете динамические данные из базы данных локально.

Вся система зависит от ваших требований.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...