Кэш на файлах

Кэш на файлах

Содержание

Кэш на файлах

Кэш интернет страниц. Эта опция движка сайта которая генерируя страницу помещает её в локальный кэш сервера [1]. Обычно, у данных страниц есть время жизни кэша, по истечении которого кэш страницы считается устаревшим. При открытие страницы сайта, в самом начале осуществляется проверка существования кэша данной страницы с учетом времени жизни кэша, в случае если время жизни ещё не истекло, движок сайта возвращает страницу из кэша, в противном случае осуществляется новая генерация страницы и её запись в кэш в виде файла который хранится на сервере.

Кэширование методом дерева

Время жизни данного кэша не ограничено его временем жизни, а обновления кэша происходит в случае изменения данных в дереве кэша. Данный метод, по принципу действия, устроен так что в итоге приводит к полному, или частичному кэшированию сайта/форума/гостевой книги. Это реализуется за счёт древообразной структуры многих интернет ресурсов: Оглавление (корень), разделы ресурса (ствол), темы в разделе (ветки) и собственно сам целевой текст (листья). Данная структура примерна, и её глубина зависит от сложности сайта и его структуры.

Работа системы кэширования по методу дерева осуществляется по следующему принципу: При открытие страницы интернет ресурса идет проверка есть ли в кэше данная страница, пример проверки[источник не указан 1309 дней]

if (is_file(«cahe/$fid1|$id1|$page1|$zv.html»))
{
….
}
Где $fid1 — номер раздела
$id1 — номер темы хранящейся в этом разделе
$page1 — страница в данной теме
$zv — прочие параметры отображения страницы (в примере не рассматриваются)

Если данная страница найдена, то происходит её отображение.

В случае, если данной странице в кэше нет, то происходит её генерация и запись с нужными индексами в кэш.

Внесение изменений

При внесении изменений в некую часть интернет ресурса, необходимо удалить дерево кэша от того места где было внесено изменение до корня включительно. При этом, удаляется только страница содержащая измененную информацию из кэша («листик»), страница с которой содержится ссылка на данную статью, это сделано для того чтобы при изменении названии статьи её название отобразилось уровнем ниже («ветка»), а также и остальные страницы из кэша которые связаны ассоциативной связью с корнем. Однако, данное удаление удаляет только те закэшированные страницы которые терпят изменения.

Дерево кэша для форума

Крайне актуально использовать данный алгоритм для форума, в котором все подчинено древообразной структуре, само кэширование происходит как и раньше — если в кэше не найдено закэшированной страницы. Удаление кэша также подчинено дереву, так например при добавлении нового сообщения, из кэша удаляется та страница на которой произведена запись сообщения, раздел в котором есть ссылка на данную ветку дабы при пере генерировании (а генерация новой страницы осуществляется, когда кэш не найден) были внесены изменения в кэш включающие в себя иного автора в теме, или новую ветку. Также происходит и удаление кэша главной страницы форума, что при её очередном запросе, приведет к новой её генерации, и уже обновленная страница содержащая изменения о последних ответах в разнообразных темах запишется в кэш до момента последующего изменения чего либо на форуме. Эта процедура удаления оставляет форум живым[2], и не влияет на его динамику, в отличие от кэширования со временем жизни.

Замечание

При грамотной реализации кэширования методом дерева, нагрузка на CPU сервера резко падает, так как многие часто запрашиваемые страницы не генерируются заново, а возвращаются из кэша. Однако, для форумов кэширование необходимо внедрять поблочно, чтобы «случайно» не поместить в кэш нечто подобное, как «количество посетителей на форуме».

Время генерации страницы с использованием кэширования методом дерева

По оценкам время генерирования страницы, и комплектования её из кэшей по времени более чем в 10 раз быстрее нежели генерация страницы заново. Это определяется тем, что кэш статичен, и достаточно просто подключить (include) необходимую страницу к php скрипту, нежели делать десятки запросов к базе данных и генерировать страницу с нуля.

Примечания

  1. Оптимальное время жизни кэша — Joomla! CMS по-русски
  2. Любое изменение данных, или добавление постов на форум незамедлительно ведет к новой генерации целевых страниц форума, с внесением изменения в них

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Нужен реферат?

Полезное


Смотреть что такое "Кэш на файлах" в других словарях:

  • Кэш-память — Кэш (англ. cache[1], произносится kæʃ кЭш)  промежуточный буфер с быстрым доступом, содержащий копию той информации, которая хранится в памяти с менее быстрым доступом, но с наибольшей вероятностью может быть оттуда запрошена. Доступ к данным в… …   Википедия

  • Кэш центрального процессора — Кэш (англ. cache[1], произносится kæʃ кЭш)  промежуточный буфер с быстрым доступом, содержащий копию той информации, которая хранится в памяти с менее быстрым доступом, но с наибольшей вероятностью может быть оттуда запрошена. Доступ к данным в… …   Википедия

  • Кэш — У этого термина существуют и другие значения, см. Кэш (значения). Кэш[1][2][3] или кеш[4][5][6] (англ. cache, от фр. cacher  «прятать»; произносится [kæʃ]  «кэш»)  промежуточный …   Википедия

  • Дисковый кэш — Кэш (англ. cache[1], произносится kæʃ кЭш)  промежуточный буфер с быстрым доступом, содержащий копию той информации, которая хранится в памяти с менее быстрым доступом, но с наибольшей вероятностью может быть оттуда запрошена. Доступ к данным в… …   Википедия

  • Сверхоперативная память — Кэш (англ. cache[1], произносится kæʃ кЭш)  промежуточный буфер с быстрым доступом, содержащий копию той информации, которая хранится в памяти с менее быстрым доступом, но с наибольшей вероятностью может быть оттуда запрошена. Доступ к данным в… …   Википедия

  • Дисковый кеш — Кэш (англ. cache[1], произносится kæʃ кЭш)  промежуточный буфер с быстрым доступом, содержащий копию той информации, которая хранится в памяти с менее быстрым доступом, но с наибольшей вероятностью может быть оттуда запрошена. Доступ к данным в… …   Википедия

  • Кеш — Кэш (англ. cache[1], произносится kæʃ кЭш)  промежуточный буфер с быстрым доступом, содержащий копию той информации, которая хранится в памяти с менее быстрым доступом, но с наибольшей вероятностью может быть оттуда запрошена. Доступ к данным в… …   Википедия

  • Кеш-память — Кэш (англ. cache[1], произносится kæʃ кЭш)  промежуточный буфер с быстрым доступом, содержащий копию той информации, которая хранится в памяти с менее быстрым доступом, но с наибольшей вероятностью может быть оттуда запрошена. Доступ к данным в… …   Википедия

  • Кеширование — Кэш (англ. cache[1], произносится kæʃ кЭш)  промежуточный буфер с быстрым доступом, содержащий копию той информации, которая хранится в памяти с менее быстрым доступом, но с наибольшей вероятностью может быть оттуда запрошена. Доступ к данным в… …   Википедия

  • Кэширование — Кэш (англ. cache[1], произносится kæʃ кЭш)  промежуточный буфер с быстрым доступом, содержащий копию той информации, которая хранится в памяти с менее быстрым доступом, но с наибольшей вероятностью может быть оттуда запрошена. Доступ к данным в… …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»