Понедельников НЕТ!
Регистрация или вход Регистрация или вход Избранное на этом сайте | Главная | Анкета | Рекомендовать | Обратная связь | В избранное | Сделать домашней
Скачать 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
Поиск по сайту









Интересное в сети
  • https://gkmetallinvest.ru установка резки рулонных материалов.
  • Публикации
    Кеширование
    Кеширование блоков


    Суть: снизить нагрузку на базу - в блоке запросы будут "включаться" только каждые 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
    Прочитано: 9763 раз
    [ Назад | Начало | Наверх ]
    Комментарии

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

    Rambler's Top100

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