Приятное местечко в интернете от компании
EN / ES / RO / PT / FR / RU

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

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

Лучшее объяснение, которое я когда-либо слышал, озвучил спикер с конференции WordPress. Он спросил сидящих в зале: "Сколько будет если 3.485.250 разделить на 23.235 ?"

*Этим спикером был Питер Честер (Peter Chester)

В зале воцарилась тишина.

Многие достали калькуляторы, чтобы произвести расчёт, и, наконец, спустя несколько секунд кто-то выкрикнул ответ.

После чего спикер задал тот же самый вопрос заново. На этот раз все ответили моментально.

Это отличный пример того, как устроено кэширование

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

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

Когда посетитель впервые заходит на страницу вашего сайта, он “задаёт вопрос”, а ваш сервер отвечает на него. В следующий раз, когда посетитель зайдёт на ту же самую страницу, т.е. “задаст тот же самый вопрос”, сервер даст ответ (загрузит страницу) намного быстрее.

Когда мы работаем над вашим сайтом, мы меняем код, а когда мы так делаем, мы меняем вопрос и, соответсвтенно, ответ на него.

Здесь возникает проблема - не так уж и легко убедить большую группу людей в том, что ответ, который они знали ранее, больше не актуален.

И ещё одна проблема, подливающая масла в огонь - некоторые из сидящих в зале рассказали старый ответ другим людям. Людям, которые не в комнате, и на которых мы не можем воздействовать.

Что имеется в виду, когда мы говорим о "других людях"? Дело в том, что ваш браузер тоже сохраняет информацию, и он будет продолжать показывать вам предыдующую версию сайта.

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

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

Можем ли мы как-то это отключить?

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

Вот, что мы имеем. Я надеюсь эта статья помогла вам понять,
что такое кэширование и как оно влияет на то, что вы видите на сайте.

Здесь приведены ссылки на ресурсы, которые могут помочь вам разобраться:


Пожалуйста, поделитесь этой записью

Статья подготовлена компанией 10°

Британские специалисты по работе с Wordpress

Отдельное спасибо Питеру Честеру (Peter Chester) за хорошее выступление

Перевод выполнен Евгением Сабуровым