- Кэш на файлах
-
Проверить информацию. Необходимо проверить точность фактов и достоверность сведений, изложенных в этой статье.
На странице обсуждения должны быть пояснения.Содержание
Кэш на файлах
Кэш интернет страниц. Эта опция движка сайта которая генерируя страницу помещает её в локальный кэш сервера [1]. Обычно, у данных страниц есть время жизни кэша, по истечении которого кэш страницы считается устаревшим. При открытие страницы сайта, в самом начале осуществляется проверка существования кэша данной страницы с учетом времени жизни кэша, в случае если время жизни ещё не истекло, движок сайта возвращает страницу из кэша, в противном случае осуществляется новая генерация страницы и её запись в кэш в виде файла который хранится на сервере.
Кэширование методом дерева
В этом разделе не хватает ссылок на источники информации. Информация должна быть проверяема, иначе она может быть поставлена под сомнение и удалена.
Вы можете отредактировать эту статью, добавив ссылки на авторитетные источники.
Эта отметка установлена 12 мая 2011.Время жизни данного кэша не ограничено его временем жизни, а обновления кэша происходит в случае изменения данных в дереве кэша. Данный метод, по принципу действия, устроен так что в итоге приводит к полному, или частичному кэшированию сайта/форума/гостевой книги. Это реализуется за счёт древообразной структуры многих интернет ресурсов: Оглавление (корень), разделы ресурса (ствол), темы в разделе (ветки) и собственно сам целевой текст (листья). Данная структура примерна, и её глубина зависит от сложности сайта и его структуры.
Работа системы кэширования по методу дерева осуществляется по следующему принципу: При открытие страницы интернет ресурса идет проверка есть ли в кэше данная страница, пример проверки
if (is_file(«cahe/$fid1|$id1|$page1|$zv.html»))
{
….
}
Где $fid1 — номер раздела
$id1 — номер темы хранящейся в этом разделе
$page1 — страница в данной теме
$zv — прочие параметры отображения страницы (в примере не рассматриваются)Если данная страница найдена, то происходит её отображение.
В случае, если данной странице в кэше нет, то происходит её генерация и запись с нужными индексами в кэш.
Внесение изменений
При внесении изменений в некую часть интернет ресурса, необходимо удалить дерево кэша от того места где было внесено изменение до корня включительно. При этом, удаляется только страница содержащая измененную информацию из кэша («листик»), страница с которой содержится ссылка на данную статью, это сделано для того чтобы при изменении названии статьи её название отобразилось уровнем ниже («ветка»), а также и остальные страницы из кэша которые связаны ассоциативной связью с корнем. Однако, данное удаление удаляет только те закэшированные страницы которые терпят изменения.
Дерево кэша для форума
Крайне актуально использовать данный алгоритм для форума, в котором все подчинено древообразной структуре, само кэширование происходит как и раньше — если в кэше не найдено закэшированной страницы. Удаление кэша также подчинено дереву, так например при добавлении нового сообщения, из кэша удаляется та страница на которой произведена запись сообщения, раздел в котором есть ссылка на данную ветку дабы при пере генерировании (а генерация новой страницы осуществляется, когда кэш не найден) были внесены изменения в кэш включающие в себя иного автора в теме, или новую ветку. Также происходит и удаление кэша главной страницы форума, что при её очередном запросе, приведет к новой её генерации, и уже обновленная страница содержащая изменения о последних ответах в разнообразных темах запишется в кэш до момента последующего изменения чего либо на форуме. Эта процедура удаления оставляет форум живым[2], и не влияет на его динамику, в отличие от кэширования со временем жизни.
Замечание
При грамотной реализации кэширования методом дерева, нагрузка на CPU сервера резко падает, так как многие часто запрашиваемые страницы не генерируются заново, а возвращаются из кэша. Однако, для форумов кэширование необходимо внедрять поблочно, чтобы «случайно» не поместить в кэш нечто подобное, как «количество посетителей на форуме».
Время генерации страницы с использованием кэширования методом дерева
По оценкам время генерирования страницы, и комплектования её из кэшей по времени более чем в 10 раз быстрее нежели генерация страницы заново. Это определяется тем, что кэш статичен, и достаточно просто подключить (include) необходимую страницу к php скрипту, нежели делать десятки запросов к базе данных и генерировать страницу с нуля.
Примечания
- ↑ Оптимальное время жизни кэша — Joomla! CMS по-русски
- ↑ Любое изменение данных, или добавление постов на форум незамедлительно ведет к новой генерации целевых страниц форума, с внесением изменения в них
Ссылки
Категория:- Кэш
Wikimedia Foundation. 2010.