alex1874: Блог

alex1874

Дата последнего входа: 08.12.2018 18:50:33
Дата регистрации: 09.04.2010 21:32:08
Пол: Мужской
День рождения: 18 марта

Увеличение скорости загрузки сайта путем кэширования сайта и буферизации вывода

Я думаю, для вас не будет огромной тайной, если я вам сообщу, что статичные страницы загружаются намного быстрее, чем динамичные. Все достаточно просто. Статические страницы сразу же после запроса к ним обрабатываются браузером.

С динамическими страницами чуть сложнее. Они сначала обрабатываются сервером, делаются запросы к базе данных и только потом отдается браузеру. Как вы понимаете время, затраченное на обработку страниц - увеличивается.

Я предлагаю вам реально работающую систему кэширования страниц с буферизацией вывода. Данный скрипт прекрасно работает в рамках CMS AF. Что делает данная система:

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

Сразу скажу, что данные сохраняются в статическом виде. Это дает нам огромное преимущество: ускорение загрузки страниц и снижение нагрузки на сервер, и базу данных.

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

Хватит теории - переходим к действию.

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

ob_start() – функция включения буферизации вывода. Все, что будет происходить после этой функции, будет сохранено во временное хранилище;
ob_get_contents() - вывод содержимого из временного хранилища;
ob_end_flush() - выключает буферизацию вывода, но перед этим отправляет содержимое буфера вывода пользователю и очищает буфер;

Для осуществления кэширования сайта используем инструменты для работы с файлами.

fopen() - открывает файл или URL
fwrite() - записывает содержимое в файл.
fread() – читает данные из файла.
fclose() - закрывает файл.

На сервере организуем папочку cache (назвать ее вы можете как угодно), в которой будем сохранять наши статичные файлы. Так же необходимо заготовить базу данных со следующими полями page и id. В поле page записывается название страницы: index, index1, index2 и т.д. Конечно, название страницы я привел условно в качестве примера.

Теперь внимательно читайте. Реализация скрипта на примере индексной страницы.

Новые темыОбъявленияСвободное общение
12:04 ClickDealer- свои люди на рынке буржа! 
09:17 Накрутка лайков и репостов вк 
19:19 Проблемы с выводом слайдера на сайте 
19:17 17 июля 2019 | Текстовый апдейт: выложен индекс по 11 июля 2019 
15:57 Страница как бы и в индексе Яндекса и как бы нет 
15:19 Кто как борется с РКН и компанией? 
06:12 Lottery Partner в поиске партнеров! Самые высокие ставки! 
12:52 Разработка сайтов "под ключ" WordPresss, OpenCart, MODx, Landing Page. 
10:42 Копирайтинг RU/EN, переводы высокого уровня (рус/англ/укр), SEO-оптимизированные тексты под ключ для выхода в Топ (2000+ отзывов) 
10:38 Тизерка Adpartner. Только качественный трафик в тизерке . 
10:19 Услуги постинга в социальные сети для продвижения, индексации и увеличения социальной активности 
08:47 Профессиональный копирайт на любые темы! 
07:01 World-Bases.com - Списки сайтов и доменов на различных CMS: WordPress, Joomla, Magento, Drupal etc. 
02:32 [Бесплатный тест] Топовые мобильные прокси RU, UA, UK. AIRSOCKS 3G / 4G / LTE. С подменой Passive OS fingerprint (Windows / Mac / Android / iPhone) 
13:02 Какой сайт сейчас нужен! 
12:11 Как вы понимаете это высказывание? 
11:47 Партнерская программа ePochta – доход от лучшего ПО для Email маркетинга! 
10:44 Тизерка Adpartner. Только качественный трафик в тизерке . 
23:38 Google June 2019 Core Update 
23:36 Мой канал на YouTube о том как лично я зарабатываю в интернете 
23:32 Криптовалюта без вложений на автомате.Всё прозрачно,понятно и в одном месте.