| Скрипт кешування сайту |
|
Не секрет, що статичні сайти вантажаться швидше динамічних. Це відбувається тому, що статичний сайт видає користувачеві в браузер себе "одразу як він є", в той час як динамічний сайт попередньо обробляється на сервері, робить запити до бази даних. Суть кешування на стороні сервера полягає в тому, щоб записати все, що відбувається на сервері, у файл, зберегти його і при подальшому обігу цього, або будь-якого іншого користувача до цієї сторінки просто видати йому статичну копію. В результаті ми отримаємо не тільки прискорення завантаження сторінок, але і знизимо навантаження на сервер і базу даних. Реалізуємо найпростіший, на мій погляд, спосіб буферизації. Нам знадобляться функції: Якщо у нас існує файл index_xx_yy.cache, то просто зчитуємо вміст файлу, виводимо на екран і зупиняємо будь-які подальші дії на сторінці. Тут xx - це значення змінної $ _GET ["page"] (наприклад номер сторінки), уу - це значення змінної $_GET ["id"] (наприклад якийсь параметр, що формує нашу сторінку). Якщо ж ні, в папці кеш нашої статичної копії включаємо буфер і записуємо в нього все, що відбувається на сторінці. 2. У самому кінці після тега </ html>: Ми записуємо в $buffer вміст буфера, після зупиняємо буферезацію і очищаємо його. Потім відкриваємо файл index_xx_yy.cache / / (якщо його немає на сервері, то створюємо, за це відповідає параметр 'w' у ф-ції fopen), записуємо в файл $fp значення $ buffer і закриваємо його. Тепер у нас php - сторінка буде оброблятися на сервері 1 раз з першим відвідувачем, а для всіх наступних виводити статичний html-код. Що буде якщо параметрів $_GET ["page"] і $_GET ["id"] не існує? (Якщо завантажена сторінка index.php без змінних $_GET). Файл index_xx_yy.cache набуде вигляду index__.cache (після index подвійна риса), що в принципі є нормальним іменем файлу:) 3. Тепер про те, як очистити кеш. Це необхідно коли ви додали щось нове на сторінку або на сайт, у вас з'явився новий запис у гостьовій. Просто додайте в потрібному місці (наприклад після того, як запис у гостьовій була додана в базу даних): Ця функція видалить кеш файл index_xx_yy.cache Пам'ятайте: Папка cache повинна бути доступна на запис. Якщо передбачається виводити якісь випадкові нотатки, варто проводити буферизацію блоками і підключати БД до сторінки до включення буферизації, тобто ви повинні визначити що повинно кешуватися і кешувати тільки потрібні ділянки, створюючи файли в папці кеш з назвою ваших блоків. В принципі теж нічого складного, якщо ви зрозуміли це урок, зробити блокову буферизацію не складе великих труднощів. От і все, що потрібно для найпростішої реалізації кешування сайту на стороні сервера. Всім удачі, коменти вітаються.
|
| Останні статті | Випадкові статті по темі |