Кэширование данных в PHP. Что это такое и для чего оно нужно?
Рано или поздно, любой интересный сайт (сайт на котором начинает расти посещаемость), сталкивается с проблемой большой нагрзуки на сервер. Это связано с тем, что большое количество людей начинают одновременно просматривать страницы сайта, тем самым посылая большое количество одновременных запросов к базе данных. Все это приводит к тому, что сайт начинает очень долго открываться и тормозить. А как известно, скорость загрузки сайта влияет на множество показателей, начиная от позиций в поисковой выдаче и заканчивая конверсией, и показателем отказа. Один словом с этим нужно что-то делать.
Так как же снизить нагрузку на сервер и увеличить скорость загрузки сайта?
В данном случае, самым лучшим способом снизить нагрузку на сервер, является кэширование данных. Существует несколько видом и способов кэширования.
Виды кэширования
- Наиболее эффективным способом увеличить производительность приложения является кэширование страницы целиком и затем, в обход приложения, отдавать кэшированные данные для каждого запроса. Очень действенный вид кэширования, но к сожалению его не всегда возможно применить на очень динамических сайтах, где на одной странице могут находится различные блоки, которые меняют свою содержание очень часто.
- Следующим видом кэширования является кэширования отдельных блоков на странице, т.е. кэшируется не вся страница целиком, а отдельные её блоки. Причем время жизни кэша для этих блоков может быть разным.
- Еще одним видом кэширования является кэширование результатов выборки из базы данных. Т.е. после успешной выборки из базы данных, все данные сохраняются в кэш и при следующем запросе все данные будут браться из кэша, а не из базы данных.
- Кэширования байткода. PHP – это интерпретируемый язык, т.е. при каждом запросе к скрипту его нужно компилировать. Если у Вас один файл, то здесь нет ничего страшного, но если их много, то время компиляции возрастает. Для того, чтобы уменьшить время компиляции скрипта, придумали хранить компилированный вид скрипта в памяти. Для этого существуют так называемые акселераторы.
Какой вид кэширования использовать зависит от конкретных задач и условий. Очень часто приложения используют все эти виды кэширования.
Все виды кэширования можно разделить на клиентское и серверное кэширование.
Клиентское кэширования - HTTP-кэширование по средствам HTTP-заголовков и мета-тегов. При таком кэшировании кэшируется вся страница целиком. Это достигается за счет отправки браузеру специальных заголовков, которые сообщают ему о том, что содержимое страницы не изменилось с последнего запроса. В этом случае серверу нет необходимости повторно формировать и отсылать страницу.
Серверное кэширование. В зависимости от вида кэширования, те или иные данные могут быть сохранены либо на диск в файл, либо в память и при следующем обращении к скрипту данные будут сразу браться из кэша, без необходимости их повтороного формирования.
Более подробно о кэшировании с примерами я расскажу Вам в следующих статьях.
На этом буду заканчивать. Спасибо за внимание. Жду Ваших комментариев.
-
Комментарии (0)
- Сайт