кеширование или кэширование это что
Кэширование
Содержание
История
Впервые слово «кэш» в компьютерном контексте было использовано в 1967 году во время подготовки статьи для публикации в журнале «IBM Systems Journal». Статья касалась усовершенствования памяти в разрабатываемой модели 85 из серии IBM System/360. Редактор журнала Лайл Джонсон попросил придумать более описательный термин, нежели «высокоскоростной буфер», но из-за отсутствия идей сам предложил слово «кэш». Статья была опубликована в начале 1968 года, авторы были премированы [2]
Функционирование
Кэш — это память с большей скоростью доступа, предназначенная для ускорения обращения к данным, содержащимся постоянно в памяти с меньшей скоростью доступа (далее «основная память»). Кэширование применяется ЦПУ, жёсткими дисками, браузерами и веб-серверами.
Кэш состоит из набора записей. Каждая запись ассоциирована с элементом данных или блоком данных (небольшой части данных), которая является копией элемента данных в основной памяти. Каждая запись имеет идентификатор, определяющий соответствие между элементами данных в кэше и их копиями в основной памяти.
Когда клиент кэша (ЦПУ, веб-браузер, операционная система) обращается к данным, прежде всего исследуется кэш. Если в кэше найдена запись с идентификатором, совпадающим с идентификатором затребованного элемента данных, то используются элементы данных в кэше. Такой случай называется попаданием кэша. Если в кэше не найдено записей, содержащих затребованный элемент данных, то он читается из основной памяти в кэш, и становятся доступным для последующих обращений. Такой случай называется промахом кэша. Процент обращений к кэшу, когда в нём найден результат, называется уровнем попаданий или коэффициентом попаданий в кэш.
Например, веб-браузер проверяет локальный кэш на диске на наличие локальной копии веб-страницы, соответствующей запрошенному URL. В этом примере URL — это идентификатор, а содержимое веб-страницы — это элементы данных.
Если кэш ограничен в объёме, то при промахе может быть принято решение отбросить некоторую запись для освобождения пространства. Для выбора отбрасываемой записи используются разные алгоритмы вытеснения.
При модификации элементов данных в кэше выполняется их обновление в основной памяти. Задержка во времени между модификацией данных в кэше и обновлением основной памяти управляется так называемой политикой записи.
В кэше с немедленной записью каждое изменение вызывает синхронное обновление данных в основной памяти.
В кэше с отложенной записью (или обратной записью) обновление происходит в случае вытеснения элемента данных, периодически или по запросу клиента. Для отслеживания модифицированных элементов данных записи кэша хранят признак модификации (изменённый или «грязный»). Промах в кэше с отложенной записью может потребовать два обращения к основной памяти: первое для записи заменяемых данных из кэша, второе для чтения необходимого элемента данных.
В случае, если данные в основной памяти могут быть изменены независимо от кэша, то запись кэша может стать неактуальной. Протоколы взаимодействия между кэшами, которые сохраняют согласованность данных, называют протоколами когерентности кэша.
Кэш центрального процессора
Ряд моделей центральных процессоров (ЦП) обладают собственным кэшем, для того чтобы минимизировать доступ к оперативной памяти (ОЗУ), которая медленнее, чем регистры. Кэш-память может давать значительный выигрыш в производительности, в случае когда тактовая частота ОЗУ значительно меньше тактовой частоты ЦП. Тактовая частота для кэш-памяти обычно ненамного меньше частоты ЦП.
Уровни кэша
Кэш центрального процессора разделён на несколько уровней. Для универсальных процессоров — до 3. Кэш-память уровня N+1 как правило больше по размеру и медленнее по скорости обращения и передаче данных, чем кэш-память уровня N.
Самой быстрой памятью является кэш первого уровня — L1-cache. По сути, она является неотъемлемой частью процессора, поскольку расположена на одном с ним кристалле и входит в состав функциональных блоков. Состоит из кэша команд и кэша данных. Некоторые процессоры без L1 кэша не могут функционировать. На других его можно отключить, но тогда значительно падает производительность процессора. L1 кэш работает на частоте процессора, и, в общем случае, обращение к нему может производиться каждый такт (зачастую является возможным выполнять даже несколько чтений/записей одновременно). Латентность доступа обычно равна 2−4 тактам ядра. Объём обычно невелик — не более 128 Кбайт.
Вторым по быстродействию является L2-cache — кэш второго уровня. Обычно он расположен либо на кристалле, как и L1, либо в непосредственной близости от ядра, например, в процессорном картридже (только в слотовых процессорах). В старых процессорах — набор микросхем на системной плате. Объём L2 кэша от 128 Кбайт до 1−12 Мбайт. В современных многоядерных процессорах кэш второго уровня, находясь на том же кристалле, является памятью раздельного пользования — при общем объёме кэша в 8 Мбайт на каждое ядро приходится по 2 Мбайта. Обычно латентность L2 кэша, расположенного на кристалле ядра, составляет от 8 до 20 тактов ядра. В отличие от L1 кэша, его отключение может не повлиять на производительность системы. Однако, в задачах, связанных с многочисленными обращениями к ограниченной области памяти, например, СУБД, производительность может упасть в десятки раз.
Кэш третьего уровня наименее быстродействующий и обычно расположен отдельно от ядра ЦП, но он может быть очень внушительного размера — более 32 Мбайт. L3 кэш медленнее предыдущих кэшей, но всё равно значительно быстрее, чем оперативная память. В многопроцессорных системах находится в общем пользовании.
Отключение кэша второго и третьего уровней обычно используется в математических задачах, например, при обсчёте полигонов, когда объём данных меньше размера кэша. В этом случае, можно сразу записать все данные в кэш, а затем производить их обработку.
Ассоциативность кэша
При одинаковом объеме кэша схема с большей ассоциативностью будет наименее быстрой, но наиболее эффективной.
Кэширование внешних накопителей
Многие периферийные устройства хранения данных используют кэш для ускорения работы, в частности, жёсткие диски используют кэш-память от 1 до 32 Мбайт (модели с поддержкой
Применение кэширования внешних накопителей обусловлено следующими факторами:
Кэширование, выполняемое операционной системой
Кэш оперативной памяти состоит из следующих элементов:
Алгоритм работы кэша с отложенной записью
Изначально все заголовки буферов помещаются в список свободных буферов. Если процесс намеревается прочитать или модифицировать блок, то он выполняет следующий алгоритм:
Процесс читает данные в полученный буфер и освобождает его. В случае модификации процесс перед освобождением помечает буфер как «грязный». При освобождении буфер помещается в голову списка свободных буферов.
Алгоритм вытеснения
Если список свободных буферов пуст, то выполняется алгоритм вытеснения буфера. Алгоритм вытеснения существенно влияет на производительность кэша. Существуют следующие алгоритмы:
Программное кэширование
Политика записи при кэшировании
При чтении данных кэш-память даёт однозначный выигрыш в производительности. При записи данных выигрыш можно получить только ценой снижения надёжности. Поэтому в различных приложениях может быть выбрана та или иная политика записи кэш-памяти..
Существуют две основные политики записи кэш-памяти — сквозная запись (write-through) и отложенная запись (write-back).
Кэширование интернет-страниц
В процессе передачи информации по сети может использоваться кэширование интернет-страниц — процесс сохранения часто запрашиваемых документов на (промежуточных) прокси-серверах или машине пользователя, с целью предотвращения их постоянной загрузки с сервера-источника и уменьшения трафика. Таким образом, информация перемещается ближе к пользователю. Управление кэшированием осуществляется при помощи CMS конкретного сайта для снижения нагрузки на сервер при большой посещаемости. Кэширование может производится как в память, так и в файловый кэш (кэш на файлах).
Кэширование результатов работы
Многие программы записывают куда-либо промежуточные или вспомогательные результаты работы, чтобы не вычислять их каждый раз, когда они понадобятся. Это ускоряет работу, но требует дополнительной памяти (оперативной или дисковой). Примером такого кэширования является индексирование баз данных.
11 видов кэширования для современного сайта
Автор данной статьи не встречал структурированной обзорной информации о важных этапах кэширования, поэтому ему хотелось бы поделиться наработанным опытом в этой области, соединить воедино всю основную информацию по данному вопросу, а также рассмотреть плюсы и минусы каждого вида кэширования.
В первую очередь, хотелось бы пояснить, что кэширование – это одна из наиболее важных составляющих любого проекта. В частности, это единственный способ сделать больше и быстрее при использовании ограниченных ресурсов. А, как известно, ресурсы всегда ограничены: как серверные, так и пользовательские.
Основной проблематикой кэширования является быстрота реакции на запросы к основным системам хранения и обработки входящей и исходящей структурированной информации.
Представьте, что необходимо осуществить быструю передачу информации, однако скорость доступа к данным крайне низкая. Или другая ситуация: скорость хорошая, но мало доступной памяти или ширина канала недостаточная, или процессорные и дисковые факторы мешают осуществить задачу. В этом случае кэширование – это единственный выход из ситуации.
Виды кэширования
Кэширование (или кэш) – это некий промежуточный буфер, в котором хранятся данные. Благодаря кэшированию страница сайта не воссоздается заново для каждого пользователя. Кэширование позволяет осуществлять работу с большим количеством данных в максимально сжатые сроки и при ограниченных ресурсах (серверных и пользовательских).
Необходимо понимать, что работу с данными можно производить как на стороне клиента, так и на сервере. Притом, серверная обработка данных централизована и имеет ряд несомненных преимуществ (особенно для службы поддержки).
Существует несколько видов кэширования, предлагаем рассмотреть каждый вид, его особенности и рекомендации по применению:
1. Браузерное кэширование или клиентское кэширование
Представляет собой составление для браузера команды использовать имеющуюся кэшированную копию. Работа такого кэширования основана на том, что при повторном посещении, браузеру отдаётся заголовок 304 Not Modified, а сама страница или картинка загружаются из локального пользовательского кэша. Получается, что вы экономите на трафике между браузером посетителя и хостингом сайта. Соответственно, страница вашего сайта начинает загружаться быстрее.
1.1 Кэширование файлов и картинок
Браузерное кэширование как нельзя лучше подходит для сайтов, содержащих большое количество изображений: картинка не скачивается каждый раз при открытии сайта, а просто загружается через кэш браузера.
Это первый уровень кэширования, который состоит в отдаче заголовка «expired» и заголовка «304 Not Modified». Наиболее эффективным считается кэширование на 2 недели.
Однако в данном случае есть важный нюанс: если изображение на сайте меняется, то браузер узнает об этом не сразу, а только если выждать expiry или сбросить кэш в самом браузере. Это не очень эффективно, если файл постоянно изменяется и необходимо постоянно отдавать его актуальную версию.
1.2 Кэширование https
Специальные заголовки вида strict-security. Позволяет браузеру всегда обращаться по https к выбранному домену. Сохраняет это состояние довольно жёстко и, в случае отмены этого вида кэша, браузер ещё довольно долго будет пытаться загрузить страницу по https, при этом игнорируя текущие заголовки.
1.3 Кэширование центра сертификации
Так называемый, stamp центра сертификации.
Данный вид кэширования считается обязательным для применения, если вы не хотите, чтобы пользователи вашего сайта ждали, когда центр сертификации (а это некий сервер, который отвечает за достоверность вашего сертификата) обработает запрос от браузера пользователя и подтвердит, что ваш сайт действительно подтверждён им.
1.4 Кэширование страниц
Когда страница уже сгенерирована, нужно постоянно отслеживать ее актуальность. Для этого вы должны использовать серверный кэш с отслеживанием времени изменения отдельных частей страницы (если страница строится из множества динамически генерируемых блоков). При таком подходе в каждом ответе от сервера установлены специальные заголовки, обозначающие время изменения страницы, которые затем отправляются браузером пользователя при повторном обращении к странице сайта. Сервер при получении таких заголовков можем проанализировать текущее состояние страницы (возможно, даже отрисовать её), но вместо содержимого страницы отдать заголовок «304 Not Modified», что для пользовательского браузера будет означать, что можно показать страницу из своего (браузера пользователя) кэша.
Конечно, можно отправлять соответствующие заголовки без использования серверного отслеживания кэша, но в таком случае большинство пользователей получат обновление контента страницы довольно поздно. При таком подходе браузер иногда опрашивает сервер для получения обновлений, но периодичность и правила для каждого браузера настраиваются его разработчиком, поэтому надеяться на то, что ваши пользователи получат обновления вовремя, не приходится.
Как правило, кэш подразделяется по типу пользователей:
— для авторизованных;
— для неавторизованных.
Данное разделение обусловлено уникальностью контента, для каждого авторизованного пользователя и общностью контента для гостевых пользователей. В большинстве сайтов не авторизованный пользователь не может изменять содержимое сайта, а значит и влиять на его содержимое.
Браузерный кэш позволяет экономить трафик и время, затрачиваемое на загрузку страниц. Но для достижения эффекта экономии, пользователь должен хотя бы один раз посетить нашу страницу, а это означает, что нагрузка на серверные ресурсы уменьшится, но не значительно.
2. Серверное кэширование
Под серверным кэшированием понимаются все виды кэширования, при котором данные хранятся на серверной стороне. Эти данные не доступны клиентским браузерам. Кэш создаётся и хранится по принципу «один ко многим» (многие, в данном случае, — это клиентские устройства).
2.1 Кэширование страницы целиком
Наиболее эффективный кэш. Чем он интересен? Самое большое его достоинство в том, что отдача страницы происходит практически в момент обращения, как следствие – это возможность обработки миллионов запросов даже на самом слабом сервере со скоростью работы памяти и с незначительным задействованием процессора.
Пожалуй, любой когда-либо мечтал о сайте, работающем со скоростью «ping» или быстрее.
Но и у этого типа кэша есть свои минусы: например, невозможность кэшировать страницы для авторизованного пользователя, либо пользователя, содержимое страницы которого зависит от текущих переменных пользователя.
Используйте этот кэш, если серверу известны все статичные состояния внешних данных, такие как: uri, get (без дополнительных параметров), пользователь не авторизован — то есть, фактически, это идеальное состояние страницы для гостевых пользователей. Учитывайте тот факт, что при таком кэшировании архитектура сайта или приложения всегда должна однотипно обрабатывать входящие запросы и отдавать однотипные ответы. Такое состояние есть в любом приложении или сайте, его нужно лишь отследить и применить к нему кэш.
Кэширование страниц целиком, чаще всего, применяют в каких-то экстренных случаях, при этом кэш страниц сохраняется на заранее указанное время (от 2 минут), в течение которого ответы от сервера однотипны (не позволяйте браузеру кэшировать это).
2.2 Кэширование результатов компиляции php-файлов
Различают как чистую компиляцию кода, так и его оптимизацию во время компилирования (подмена скриптов). Наиболее яркие примеры:
И тот и другой вид кэширования могут использоваться в проекте, но у каждого есть собственные нюансы, которые необходимо учитывать при написании кода.
2.3 Кэширование отдельных блоков страницы
Это, пожалуй, самый интересный, но и сложный вид кэширования. Тем не менее, он тоже может быть эффективным, и на его примере легче всего объяснить принципы кэширования в целом.
Необходимо отслеживать: состояние таблиц, состояние сессии пользователя, выключать ли кэширование при POST или GET запросах (http query), зависимость от текущего адреса, постоянство кэширования (при изменении предыдущих условий) или его динамическую подстройку.
Кэширование отдельных блоков страниц лучше других типов кэширования подойдёт, если вам нужно, например, уменьшить количество запросов к базе данных от реальных (авторизованных) пользователей. Кстати, при правильно заданных зависимостях, он будет работать даже эффективнее, чем все последующие виды кэширования.
Почему этот вид кэширования настолько важен? Всё дело в том, что расширение пула серверов баз данных намного более сложная задача, чем расширение пула серверов php-части сайта. Более того, php конфликты состояния кэширования решаются гораздо легче, чем конфликты при работе с множеством баз данных.
2.4 Кэширование php на основе неразделяемых ресурсов
Лучше всего подходит при стандартизации запросов, получении данных из общих ресурсов, наличии внутренних переменных, к которым php-ресурсы обращаются несколько раз при генерации страницы.
2.5 Кэширование php на основе общих ресурсов
Такое кэширование применяйте для хранения сериализированных данных. Например: конфигурационного файла, состояния таблиц, списков файловой системы.
2.6 Кэширование mysql на основе query cache
Это довольно известная и наиболее освещённая тема. Тем не менее, хотелось бы рассмотреть специфику работы с timestamp и то, как можно избежать постоянного сброса query cache.
Наверняка, вы регулярно сталкивались с ситуацией, когда необходимо отдать новые материалы, дата публикации которых уже разрешена текущим timestamp? Проще говоря,
Что такое кэш в компьютере, телефоне, браузере и что такое кэширование сайта простыми словами
С появлением компьютера и развитием Интернета в наш лексикон ворвалось много новых терминов. Один из них – кэш. Что это такое простыми словами? Попробуем в этом разобраться.
Общие понятия о кэше
Согласно Википедии, кэшем называют промежуточный буфер памяти, который содержит информацию с наибольшей вероятностью запроса. Скорость доступа к этой памяти гораздо больше, чем получение данных из исходного хранилища.
Часто кэшем называют также временные файлы и данные, хранящиеся в памяти компьютера, телефона, браузера или сервера.
Процесс сохранения информации в кэш называют кэшированием.
Для более ясного понимания, что такое кэш, можно привести такую аналогию.
Допустим вам нужно приготовить доклад на какую-то тему. Для этого вам нужны определенные документы, книги. Вы идете в библиотеку, выбираете нужные вам материалы, приносите домой и кладете на свой рабочий стол. Теперь для получения нужной информации достаточно протянуть руку и открыть соответствующую книгу. В данном случае рабочий стол играет роль кэша.
Назначение кэша – сократить время доступа к информации и, тем самым увеличить быстродействие компьютера или программы.
Типы кэша
Кеширование применяется во многих случаях, когда нужно увеличить скорость работы с данными, поэтому реализовать его можно по-разному. Выделяют два способа кэширования:
Рассмотрим эти способы немного подробнее.
Аппаратная реализация
Такой способ кэширования основан на использовании специального устройства памяти для хранения и быстрого извлечения информации.
Например, жесткий диск имеет специальную микросхему в качестве такого хранилища.
Сложную многоступенчатую систему кэширования имеет центральный процессор или мобильные устройства. Естественно, увеличить размер аппаратного кэша нельзя.
Программная реализация
При таком способе кэширования для временного сохранения данных выделяется область на диске, в которой ОС или приложение хранят часто используемые файлы. При каждом запросе пользователя программа сначала обращается за данными к кэшу, и, если эти данные отсутствуют, загружает их из удаленных источников, например, Интернета.
При программном кэшировании размер кэша зависит от размера свободного дискового пространства, а скорость загрузки – от типа носителя.
Кэширование на компьютере
Операционная система компьютера использует программное кэширование. В выделенной области диска хранятся различные временные файлы, которые возникают при работе компьютера.
Кэшированием можно назвать и использование так называемого файла подкачки, который создает ОС на диске ПК.
Как известно, при работе компьютера файлы программ и обрабатываемые данные загружаются в оперативную память для более быстрого доступа к ним. Но этой памяти может быть недостаточно, тогда часть данных отправляется в файл подкачки, который играет роль дополнительного ОЗУ. Объем этого файла регулируется ОС и тем самым компенсируется недостаток оперативной памяти.
Что такое кэш на телефоне
Современные телефоны и смартфоны также используют кэш в своей работе, но здесь это понятие несколько шире. Кэш на телефоне — это не только временные файлы, но и дополнения к программам и играм. Без них программы и игры будут иметь ограничения в работе, а в некоторых случаях даже не запустятся.
или
Что такое кэш браузера
Любой современный браузер (Chrome, Opera, Mozilla и т. д.) обязательно использует кэширование. Это необходимо для быстрой загрузки веб-страниц и экономии трафика. Это достаточно легко проверить. Если измерить время загрузки страницы при первом посещении сайта и время ее повторной загрузки, то они могут заметно отличаться, так как во втором случае многие файлы, составляющие эту страницу, будут загружаться из кэша на жестком диске вашего компьютера, а не из Интернета.
В браузере используется программное кеширование. Эта технология позволяет быстрее загружать и последующие страницы сайта, хотя заходим на них только первый раз. Объясняется это тем, что на них обязательно присутствуют повторяющиеся элементы (шапка, подвал, сайдбар и т. д.), которые уже сохранены в кэше после посещения одной страницы.
Кэширование браузером веб-страниц имеет и недостатки. Например, если мы посещаем много различных сайтов, то кэш оказывается заполненным информацией о них, а при заходе на новый сайт браузер сначала пытается найти информацию о нем в кэше и, только не найдя ничего, начинает загрузку из Интернета. В результате время загрузки оказывается даже больше, чем без кэширования. Поэтому кэш браузера необходимо периодически чистить.
Кэш центрального процессора
Процессоры имеют огромную скорость обработки данных, которую не может обеспечить оперативная память. Именно поэтому центральный процессор использует кэширование, при этом он имеет 2-3 уровня кэш-памяти, которые обозначаются L1-L2 (Level 1-3). Уровень L1 имеет наименьший объем, но наибольшую скорость работы. Он работает на той же частоте, что и процессор. Последующие уровни имеют соответственно меньшую скорость работы, но больший объем. Иногда кэш-память центрального процессора называют сверхоперативной памятью.
Очистка кэша
Нужно ли чистить кэш? Вернемся к нашей аналогии с библиотекой и рабочим столом.
Допустим, вы закончили свой доклад, но книги, которые взяли в библиотеке, еще не вернули, они остались на столе. Теперь вы начали готовить новый текст, для которого принесли новые книги и положили на стол. Ели продолжать в том же духе, то через некоторое время ваш рабочий стол будет завален книгами, большинство из которых вам уже не нужно, черновиками и т. д. Конечно, работать в этом случае будет труднее, и находить нужную информацию вы будете все медленнее. Поэтому ненужные книги нужно сдавать в библиотеку, а черновики выбрасывать.
Точно также нужно периодически чистить кэш, причем, когда говорится об очистке, имеется в виду программный кэш. Аппаратный кэш – это микросхемы, которые содержат данные только при работе компьютера, а при его выключении все автоматически исчезает.
Для очистки кэша существуют как встроенные, так и специальные программные средства. Рассмотрим некоторые, наиболее важные.
Как очистить кэш браузера
У каждого браузера в меню есть команда для очистки кэша. Найти ее несложно, но сделаю подсказки для наиболее распространенных браузеров.
Google Chrome
В правом верхнем углу браузера нажимаем на кнопку Меню, выбираем Настройки, открывшуюся вкладку прокручиваем вниз и открываем Дополнительные, здесь находим пункт Очистить историю.
В открывшемся окне ставим галочки для тех данных, которые нужно удалить, выбираем временной интервал и нажимаем Удалить данные.
Mozilla Firefox
Аналогично, заходим в Меню, открываем вкладку Настройки,
выбираем раздел Приватность и защита
и находим пункт Куки и данные сайтов.
После нажатия также в открывшемся окне выбираем, что нужно удалять.
Opera
Точно также идем в Меню Простые настройки и прокручиваем его до пункта Очистить историю посещений
После нажатия на кнопку открывается окно, в котором отмечаем данные,подлежащие удалению и жмем Удалить данные.
Универсальный метод
Если не хочется искать в меню нужную команду, можно использовать метод, который работает во всех браузерах. Это набор горячих клавиш
который сразу открывает нужное окно.
CCleaner
Существует много, так называемых, программ-«чистильщиков», предназначенных для очистки компьютера от разного рода «мусора» и ускорения его работы.
CCleaner — наиболее известная из них. Она предназначена для очистки и оптимизации компьютеров с ОС Windows.
С ее помощью можно удалить нежелательные или нерабочие файлы, недействительные или неверные записи в реестре и многое другое. Одна из функций – удаление кэшированных данных, созданных как операционной системой, так и различными приложениями, в первую очередь, браузерами.
CCleaner — программа очень полезная, и я считаю ее одной из обязательных для установки на компьютер.
Программа Glary Utilities
GU – еще одна универсальная программа для чистки и оптимизации ОС. Ее основные возможности, в основном, сходны с возможностями предыдущей программы. Хочу отметить очень удобную команду 1-Кликом, которая находится во второй вкладке окна программы. Эта кнопка запускает целую серию команд, в функции которых входит стандартная очистка ПК. Настраивать при этом ничего не нужно.
Программа имеет дружеский пользовательский интерфейс, что позволяет применять ее пользователям любого уровня. Она также входит в разряд рекомендованных мной.
Кэширование сайта
Этот вопрос наиболее актуален для веб-мастеров.
Страницы сайта могут кэшироваться на нескольких уровнях.
Большинство современных сайтов написаны на языке PHP и имеют динамические страницы, которые создаются «на лету» по запросу пользователя. Вкратце напомню, как это происходит.
После запроса посетителя сайта (то есть клика по ссылке на страницу) сервер обращается к базе данных и папкам, содержащим необходимые медиафайлы, файлы стилей, скриптов, находит нужную информацию и, используя команды, написанные на языке PHP, формирует HTML-страницу, актуальную на данный момент и для данного посетителя. Именно эту страницу и получает браузер. Так как большинство страниц изменяется редко или не изменяется совсем, сервер отправляет их в кэш, чтобы при последующих запросах не создавать их заново. Это заметно сокращает время загрузки.
Очень много (большая часть) сайтов создано с использованием различных CMS (WordPress, Joomla!, Drupal …). Для таких ресурсов уже разработаны готовые решения для кэширования в виде плагинов или расширений.
Например, самый популярный движок WordPress может использовать такие плагины кэширования:
Каждый из них имеет свои возможности и настройки. Я использую на своих сайтах плагин Hyper Cache. Он бесплатный, легко настраивается и неплохо справляется со своими обязанностями.
Другой уровень кэширования сайта уже описывался выше. Это кэш браузера, то есть сохранение информации на уровне клиента.
Все эти методы позволяют заметно увеличить скорость загрузки сайта, снизить нагрузку на сервер и сэкономить трафик. Но иногда кэширование мешает актуальному отображению страниц сайта, так как загружаются данные, которые устарели. Поэтому приходится очищать кэш вручную.
Итак, подводя итоги, можно сказать простыми словами, что кэш – это место для временного хранения информации, которая может быть затребована в ближайшее время. Он служит для ускорения доступа к данным, но для оптимальной работы его нужно периодически очищать.