<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/refs.basic.php.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'ru',
  ),
  'this' => 
  array (
    0 => 'book.wincache.php',
    1 => 'WinCache',
    2 => 'Windows Cache для PHP',
  ),
  'up' => 
  array (
    0 => 'refs.basic.php.php',
    1 => 'Изменение поведения PHP',
  ),
  'prev' => 
  array (
    0 => 'function.uopz-unset-return.php',
    1 => 'uopz_unset_return',
  ),
  'next' => 
  array (
    0 => 'wincache.setup.php',
    1 => 'Установка и настройка',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'ru',
    'path' => 'reference/wincache/book.xml',
  ),
  'history' => 
  array (
  ),
  'extra_header_links' => 
  array (
    'rel' => 'alternate',
    'href' => '/manual/en/feeds/book.wincache.atom',
    'type' => 'application/atom+xml',
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="book.wincache" class="book">
 
 <h1 class="title">Windows Cache для PHP</h1>
 

 <div id="intro.wincache" class="preface">
  <h1 class="title">Введение</h1>
  <p class="para">
   Windows Cache Extension для PHP — кеширующий модуль, который
   увеличивает скорость работы PHP-приложений на системах под управлением ОС Windows и Windows Server.
   Как только модуль Windows Cache Extension включается и загружается PHP-движком, приложения
   начинают получать преимущества модуля без изменения кода приложения.
  </p>
  <p class="para">
   Модуль включает 5 типов кешей. Далее рассказывается про назначение и преимущества каждого типа кеша.
  </p>
  <ul class="itemizedlist">
   <li class="listitem">
    <p class="para">
     <em>PHP Opcode Cache</em> — PHP — скриптовый язык, который
     читает входящий поток данных, который содержит текст и (или) инструкции языка
     и выдаёт новый поток данных, обычно в HTML-формате. То есть на стороне веб-сервера
     PHP читает, разбирает, компилирует и запускает PHP-скрипт каждый раз, когда скрипт
     клиент запрашивает. Чтение, разбор и компиляция создают дополнительную нагрузку
     на ядра процессора и файловую систему сервера, что сказывается на конечной
     производительности приложения. Кеширование языком PHP байт-кода (операционного кода, или опкода)
     держит уже скомпилированный код в разделяемой памяти и выполняет код
     при очередных запросах к тому же скрипту.
    </p>
    <p class="para">
     Поддержку кеширования опкодов удалили в модуле <code class="literal">Wincache 2.0.0</code>.
     Поэтому если требуется кеширование, лучше использовать PHP-модуль
     <a href="book.opcache.php" class="link">OPcache</a>.
    </p>
   </li>
   <li class="listitem">
    <p class="para">
     <em>File Cache</em> — даже при включённом кешировании PHP-опкода
     движок PHP всё равно обращается к файлам скриптов в файловой системе. Когда PHP-скрипты хранятся
     в удалённом файловом общедоступном UNC-ресурсе, файловые операции значительно снижают
     производительность. Модуль Windows Cache Extension включает файловый кеш, который
     сохраняет содержимое скриптов в разделяемой памяти, что сокращает количество операций с файловой системой,
     которые выполняет PHP-движок.
    </p>
   </li>
   <li class="listitem">
    <p class="para">
     <em>Resolve File Path Cache</em> — PHP-скрипты часто
     включают или оперируют файлами по относительным путям. Каждый путь
     файла PHP-движок сначала нормализует до абсолютного пути. Когда приложение обрабатывает
     много PHP-файлов и обращается к файлам по относительным путям, операция
     разрешения абсолютных путей негативно влияет на производительность приложения.
     Модуль кеша Windows предоставляет кеш разрешения путей к файлам
     Resolve File Path, который хранит сопоставления относительных
     и абсолютных путей, чем уменьшает количество операций разрешения путей, которые
     выполняет механизм PHP.
    </p>
   </li>
   <li class="listitem">
    <p class="para">
     <em>User Cache (доступен с версии 1.1.0)</em> — PHP-скрипты
     умеют использовать преимущества кеширования в разделяемой памяти через API-интерфейс
     пользовательского кеша. Объекты и переменные PHP хранятся
     в пользовательском кеше и переиспользуются в очередных запросах. Этот тип кеша
     повышает производительность PHP-скриптов и разрешает обмениваться данными между
     PHP-процессами.
    </p>
   </li>
   <li class="listitem">
    <p class="para">
     <em>Session Handler (доступно с версии 1.1.0)</em> — обработчик
     сессий WinCache хранит данные PHP-сессии в кеше разделяемой памяти.
     Этот тип кеша избегает дисковых операций при чтении и записи
     сессионных данных, что повышает производительность, когда в PHP-сессии хранится
     большой объём данных.
    </p>
   </li>
  </ul>
 </div>

 





 






 







<ul class="chunklist chunklist_book"><li><a href="wincache.setup.php">Установка и настройка</a><ul class="chunklist chunklist_book chunklist_children"><li><a href="wincache.requirements.php">Требования</a></li><li><a href="wincache.installation.php">Установка</a></li><li><a href="wincache.configuration.php">Настройка во время выполнения</a></li><li><a href="wincache.stats.php">Скрипт статистики WinCache</a></li><li><a href="wincache.sessionhandler.php">Обработчик сессий WinCache</a></li><li><a href="wincache.reroutes.php">Перенаправление функций WinCache</a></li></ul></li><li><a href="ref.wincache.php">Функции WinCache</a><ul class="chunklist chunklist_book chunklist_children"><li><a href="function.wincache-fcache-fileinfo.php">wincache_fcache_fileinfo</a> — Получает информацию о файлах, закешированных в файловом кеше</li><li><a href="function.wincache-fcache-meminfo.php">wincache_fcache_meminfo</a> — Получает информацию об использовании памяти файлового кеша</li><li><a href="function.wincache-lock.php">wincache_lock</a> — Получает эксклюзивную блокировку для данного ключа</li><li><a href="function.wincache-ocache-fileinfo.php">wincache_ocache_fileinfo</a> — Получает информацию о файлах, закешированных в кеше опкодов</li><li><a href="function.wincache-ocache-meminfo.php">wincache_ocache_meminfo</a> — Получает информацию об использовании кеш-памяти опкодов</li><li><a href="function.wincache-refresh-if-changed.php">wincache_refresh_if_changed</a> — Обновляет записи кеша для закешированных файлов</li><li><a href="function.wincache-rplist-fileinfo.php">wincache_rplist_fileinfo</a> — Получает информацию о разрешении кеша пути к файлу разрешения</li><li><a href="function.wincache-rplist-meminfo.php">wincache_rplist_meminfo</a> — Получает информацию об использовании памяти с помощью кеша пути к файлу разрешения</li><li><a href="function.wincache-scache-info.php">wincache_scache_info</a> — Получает информацию о файлах, закешированных в кеше сессии</li><li><a href="function.wincache-scache-meminfo.php">wincache_scache_meminfo</a> — Получает информацию об использовании кеш-памяти сессии</li><li><a href="function.wincache-ucache-add.php">wincache_ucache_add</a> — Добавляет переменную в пользовательский кеш, только если кеш ещё не содержит переменную</li><li><a href="function.wincache-ucache-cas.php">wincache_ucache_cas</a> — Сравнивает переменную со старым значением и присваивает ей новое значение</li><li><a href="function.wincache-ucache-clear.php">wincache_ucache_clear</a> — Удаляет всё содержимое пользовательского кеша</li><li><a href="function.wincache-ucache-dec.php">wincache_ucache_dec</a> — Уменьшает значение, связанное с ключом</li><li><a href="function.wincache-ucache-delete.php">wincache_ucache_delete</a> — Удаляет переменные из пользовательского кеша</li><li><a href="function.wincache-ucache-exists.php">wincache_ucache_exists</a> — Проверяет, существует ли переменная в пользовательском кеше</li><li><a href="function.wincache-ucache-get.php">wincache_ucache_get</a> — Получает переменную, хранящуюся в пользовательском кеше</li><li><a href="function.wincache-ucache-inc.php">wincache_ucache_inc</a> — Увеличивает значение, связанное с ключом</li><li><a href="function.wincache-ucache-info.php">wincache_ucache_info</a> — Получает информацию о данных, хранящихся в пользовательском кеше</li><li><a href="function.wincache-ucache-meminfo.php">wincache_ucache_meminfo</a> — Получает информацию об использовании памяти пользовательского кеша</li><li><a href="function.wincache-ucache-set.php">wincache_ucache_set</a> — Добавляет или перезаписывает переменную в пользовательский кеш</li><li><a href="function.wincache-unlock.php">wincache_unlock</a> — Снимает эксклюзивную блокировку данного ключа</li></ul></li><li><a href="wincache.win32build.php">Сборка для Windows</a><ul class="chunklist chunklist_book chunklist_children"><li><a href="wincache.win32build.prereq.php">Пререквизиты</a></li><li><a href="wincache.win32build.building.php">Компиляция и сборка</a></li><li><a href="wincache.win32build.verify.php">Проверка сборки</a></li></ul></li></ul></div><?php manual_footer($setup); ?>