PHP

Кэширование страниц в PHP

В данной статье рассматривается частичное кэширование PHP-страниц с использованием шаблонов Smarty.

Идея реализации частичного кэширования, заключается в том, что данные сохраняются в php переменных, которые записываются в кэш-файл. После этого достаточно включить кэш-файл в исполняемый php-код и обработать переменные из него.

Преимущества частичного кэширования страниц в PHP:

  • сокращение числа обращений к базе данных
  • изменение интерфейса без необходимости перезаписывать все кэш-файлы
  • сохранение в кэш-файлах только необходимых данных

Создание и извлечение содержимого кэш-файла PHP-страницы
При первом запуске данного скрипта будет создан кэш-файл. После этого, данные будут извлекаться из соданного кэш-файла.

<?php
$cache = 'cache.php';
//проверка наличия кэш-файла
if (file_exists("../cache/$cache"))
{
//извлечение кэш-файла
include ("../cache/$cache");

} else {
//инициализация переменных для вставки в кэш-файл (возможно из базы данных)
$title = 'Заголовок';
$menu = 'Меню';
$content = 'Текст';
//подготовка формата кэш-файла
$cache_file .=' $cache_file .= '$title = \'' . $title . '\';';
$cache_file .= '$menu = \'' . $menu . '\';';
$cache_file .= '$content = \'' . $content . '\';';
$cache_file .=' ?>';
//запись кэш-файла
$fp = fopen ("../cache/$cache", "w");
fwrite ($fp, $cache_file);
fclose ($fp);
}
//использование библиотеки Smarty
require_once("smarty.php");
?>

Обрабатывая значение переменной cache можно поместить в кэш данные всех страниц сайта. В результате выполнения данного скрипта будет получен кэш-файл содержащий переменные php:

<?php
$title = 'Заголовок';
$menu = 'Меню';
$content = 'Текст';
?>

Удаление кэш-файла PHP-страницы

<?php
$delete_cache_file = '../cache/cache.php';
if(@unlink($delete_cache_file)){
echo 'Кэш-файл удален.";
} else {
echo 'Ошибка...';
}
?>

Статьи:


copyright © 2012 Все права защищены.