Как вы можете улучшить удержание и вовлеченность на своем веб-сайте, обеспечив лучший пользовательский опыт? Кэширование — одно из лучших решений для этого. Итак, в этой статье давайте обсудим «Кэширование».

Кэширование — это процесс или метод хранения копий файлов или данных во временном хранилище или кэш-память (память, зарезервированная для хранения временных файлов или данных из приложений, серверов, веб-сайтов). , или браузеры для более быстрой загрузки по запросу. Сюда входят изображения, видео, анимация, GIF-файлы, сценарии, файлы и т. д.), для быстрого доступа при необходимости.

Кэширование на стороне сервера

Кэширование на стороне сервера временно сохраняет веб-файлы и данные на исходном сервере для последующего повторного использования. Этот кеш сервера является промежуточным звеном между браузером и исходным сервером.

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

· Кэширование на стороне сервера помогает избежать многократного выполнения дорогостоящих операций с базой данных для предоставления одного и того же содержимого множеству разных клиентов.

· Для веб-сайтов со статическим содержимым наилучший вариант — серверная часть, так как это значительно снижает нагрузку на сервер, не требуя пересоздания всего содержимого по запросу пользователя.

· Помогает ограничить стоимость серверов и то, что они несут в процессе запроса данных из базы данных и обратно в браузер.

Недостатки

· Задержка: общее время прохождения пакета данных от источника к месту назначения. Высокая задержка означает значительную задержку запроса пользователя и ответа сервера.

· Если данные на веб-странице изменяются, серверу приходится восстанавливать их с нуля.

Кэширование на стороне клиента

Также называется кэшированием браузера.

Кэширование на стороне клиента временно сохраняет веб-файлы и данные в памяти браузера, а не на сервере.

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

Недостатки

· Это зависит от браузера, и если вы используете несколько браузеров, будут разные файлы кеша одной и той же веб-страницы.

· это сложнее, чем кэширование на стороне сервера.

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

Составление правил

Когда система записывает данные в кеш, в какой-то момент она также должна записать эти данные в резервное хранилище. Время этой записи контролируется так называемой политикой записи. Существует два основных подхода к написанию

  • Кэш со сквозной записью

Данные записываются в кэш и в исходную память при их изменении. Независимо от того, сколько раз данные изменяются в кэш-памяти, столько же раз они изменяются и в исходной памяти. Этот режим может повлиять на производительность из-за большого трафика через шину между кешем и исходной памятью.

Плюсы: быстрый поиск, полная согласованность данных, устойчивость к системным сбоям.
Минусы: более высокая задержка для операций записи.

  • Кэш обратной записи

Данные записываются только в кэш. И когда он заменяется в кэш-памяти, он записывается обратно в исходную память. Тогда исходная память всегда записывается только один раз.

За: это приведет к очень быстрой задержке записи и высокой пропускной способности записи для приложений с интенсивным выполнением операций записи.
Против: существует риск потери данных, поскольку уровень кэширования умирает, когда единственная копия записанных данных находится в кэше. Мы можем улучшить это, имея более одной реплики, подтверждающей запись в кэш.

Ссылки

Динеш, Криш. Основы проектирования систем, которые ДОЛЖЕН знать каждый инженер-программист | Кэш обратной записи| Начало работы с кэшированием. Www.youtube.com, 22 августа 2022 г., www.youtube.com/watch?v=GzZbf7mBypg&t=3s. По состоянию на 24 августа 2022 г.

Триведи, Абхай. Студия кода. Www.codingninjas.com, 13 мая 2022 г., www.codingninjas.com/codestudio/library/server-side-caching-and-client-side-caching.

редактор. Политика кэширования данных со сквозной и обратной записью. Student Circuit, 23 апреля 2018 г., www.student-circuit.com/learning/year3/embedded-systems/write-through-vs-write-back-cache/. По состоянию на 24 августа 2022 г.