Понедельников НЕТ!
Регистрация или вход Регистрация или вход Избранное на этом сайте | Главная | Анкета | Рекомендовать | Обратная связь | В избранное | Сделать домашней
Скачать SSDForums
Скачать SSDForums 1.0.1 Скачать SSDForums 1.0.1
Скачать SSDForums 1.0.1 SP1 Скачать SSDForums 1.0.1 SP1
Скачать SSDForums 1.0.1 SP2 Скачать SSDForums 1.0.1 SP2
SSD Forums 1.0.1 SP3 only Slaed 3.5 Pro SSD Forums 1.0.1 SP3 only Slaed 3.5 Pro
SSD Forums 1.0.1 SP4-beta only Slaed 4.1 Pro SSD Forums 1.0.1 SP4-beta only Slaed 4.1 Pro
Jewelry Сase Team
Скачать Ruby Chat 0.1.1 Скачать Ruby Chat 0.1.1
Меню
Главная
Форум
Магазин цифровых товаров

Новости
Подписка на новости
Темы новостей
Добавить новость

Каталог файлов
Карта файлового архива
Публикации
Вопросы и ответы

Опросы
Контакты
Рекомендовать
Анкета пользователя
Чат

BestMaker
Викторина
Архив новостей
Карманный оракул
Поиск по сайту с помощью Яндекс
Поиск по сайту с помощью Google
Фото дня
Для души
Погода на 3 дня
IndexCat
IndexTop
Map_Pages
Поиск по сайту









Интересное в сети

Sape — это система купли-продажи ссылок
с главных и внутренних страниц сайтов
Публикации
Кеширование
Кеширование блоков


Суть: снизить нагрузку на базу - в блоке запросы будут "включаться" только каждые 3 часа, например.




Проделаем оптимизацию для блока block-Pages.php

1.1. Создаем папку Kesh в корне сайта
1.2. Кидаем в нее два файла ИмяМодуля-conf.php и  ИмяМодуля-kesh.php
В нашем случае это будет block-Pages-conf.php такого содержания
PHP - Код
1
2
3
<?php
$live
= 1; //позже мы исправим единичку
?>


и block-Pages-kesh.php
PHP - Код
1
2
3
4
<?php
if (!defined("FUNC_FILE")) die("Illegal File Access");
$content = ""; //тут будет хранится кеш
?>

1.3. Назначаем права 666 на block-Pages-kesh.php


2.1. Модифицируем блок. В принципе тело остается таким же. Немного только добавлений... (всё прокомментировано)
PHP - Код
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php
if (!defined('BLOCK_FILE')) {
    
Header("Location: ../index.php");
    exit;
}
//конец начала, которое было

//начало вставки1
$block_name = substr(basename(__FILE__), 0, -4);
require_once (
"Kesh/".$block_name."-conf.php");
$prinu = intval($_GET['prinu']);
$live = $live - mktime() + filemtime("Kesh/".$block_name."-kesh.php");
if (
$live<0  OR $prinu=="1") {
//конец вставки1

//тело блока, которое было
    
global $prefix, $db;
    
$strip = 25;
    
$result = $db->sql_query("SELECT pid, title FROM ".$prefix."_pages ORDER BY pid DESC LIMIT 5");
    while(list(
$pid, $title) = $db->sql_fetchrow($result)) {
        
$linkstrip = cutstr($title, $strip);
        
$content .= "<table cellspacing=\"0\" cellpadding=\"1\" border=\"0\"><tr><td><img src=\"images/blocks/Pages.gif\" title=\"$title\"></td><td><a href=\"index.php?name=Pages&op=page&pid=$pid\" title=\"$title\">$linkstrip</a></td></tr></table>";
    }
//конец тела, которое было

//начало вставки2
        
$fp = fopen("Kesh/".$block_name."-kesh.php", "w");
        
$content1 = "<?php\nif (!defined(\"FUNC_FILE\")) die(\"Illegal File Access\");\n\n $"."content = \"".addslashes($content)."\";\n?>";
        
fwrite($fp, $content1);
        
fclose($fp);
} else {
    require_once (
"Kesh/".$block_name."-kesh.php");
}
//конец вставки2

//ну это тоже было
?>



3.1. Запустим страницу с блоком, что бы создался кеш - т.е. обновим страницу, на которой присутствует этот блок 1-2 раза, что бы блок не был пустым.
3.2. Установим время жизни block-Pages-conf.php например 3 часа, причем звездочки-умножения для удобства можно оставить
Код
1
$live = 60*60*3;



Ну и напоследок.
Я не стал перегружать блок всякими проверками на наличие файлов, что бы не потерять эффекта, так что делайте всё внимательно.

Принудительно  обновить кеш можно, передав на страницу с блоком через адресную строку
Код
1
prinu=1



Дата публикации: 13.08.2007
Прочитано: 7220 раз
[ Назад | Начало | Наверх ]
Комментарии

Sнэйк
Дата: 16.08.2007 | Комментарий: 2
SнэйкРеспект. Обязательно воспользуюсь
Koc
Дата: 13.08.2007 | Комментарий: 1
KocОгромное спасибо. Только сегодня АПнул тему http://www.slaed.net/forum/index.php?showtopic=10692 и уже готовое решение. Кулл!
Вы не можете отправить комментарий анонимно, пожалуйста зарегистрируйтесь.
Календарь 3 в 1
- М - Г + Г + М
Ноябрь, 2017
пнвтсрчтптсбвс
12345
6789101112
13141516171819
20212223242526
27282930
Купить.
Можно в кредит на 90 дней!
Навигация
»» RSS
Главная | Форум | Новости | Подписка на новости | Темы новостей | Добавить новость | Каталог файлов | Карта файлового архива | Публикации | Вопросы и ответы | Опросы | Контакты | Рекомендовать | Анкета пользователя | Чат | BestMaker | Викторина | Архив новостей | Карманный оракул | Поиск по сайту с помощью Яндекс | Поиск по сайту с помощью Google | Фото дня | Для души | Погода на 3 дня | IndexCat | IndexTop | Map_Pages | Весь Оракул

Rambler's Top100

Генерация страницы: 0.101 сек. и 18 запросов к базе данных за 0.006 сек.
Web site engine code is Copyright © 2006 by SLAED CMS. All rights reserved.