Вступ

Windows Cache Extension для PHP - це модуль, що кешує, що дозволяє збільшити швидкість роботи PHP-додатків на Windows і Windows Server. Як тільки ви включаєте Windows Cache Extension і він завантажується двигуном PHP, програми починають отримувати всі його переваги без необхідності змінювати їхній код.

Модуль включає 5 різних типів кешів. Далі розповідається про призначення та переваги кожного типу кешу.

  • PHP Opcode Cache- PHP є скриптовою мовою, яка читає вхідний потік даних, що містить текст та/або інструкції мови та видає новий потік даних, зазвичай у форматі HTML. Тобто. на стороні веб-сервера, PHP читає, розбирає, компілює та запускає PHP-скрипт щоразу, коли його запитує клієнт. Читання, розбір та компіляція створюють додаткове навантаження на процесорні ядра та файлову систему сервера, що позначається на кінцевій продуктивності програми. Кешування байт-коду (опкоду) PHP дозволяє тримати вже скомпільований код в пам'яті, що розділяється, і використовувати його при наступних запитах до того ж скрипту.

    Підтримка кешування опкодів була видалена вWincache 2.0.0. Так що якщо вона вам потрібна, слід використовувати модульOPcache, який включено до PHP.

  • File Cache- навіть якщо включено кешування опкодів, PHP все одно звертається до файлів на файловій системі. Коли PHP-скрипт розміщено у віддаленій файловій папці, файлові операції значно знижують продуктивність. Windows Cache Extension включає файлове кешування, яке використовується для збереження контенту скриптів в пам'яті, що розділяється, що сильно скорочує кількість операцій доступу до файлової системи для PHP.

  • Resolve File Path Cache- скрипти PHP часто включають або оперують файлами, використовуючи відносні шляхи. Кожен такий шлях спочатку нормалізується PHP до абсолютного шляху. Коли програма використовує велику кількість файлів і звертається до них за відносними шляхами, операції виведення абсолютних шляхів можуть негативно позначитися на продуктивності. Модуль Windows Cache Extension надає інструмент кешування Resolve File Path, який використовується для збереження зіставлення відносних та абсолютних файлових шляхів, дозволяючи знизити кількість операцій їх виведення.

  • *User Cache (доступно з версії 1.1.0)*- скрипти PHP можуть отримати переваги кешування в пам'яті, що розділяється, за допомогою API користувача кешування. Об'єкти та змінні PHP можуть бути збережені в кеші користувача і перевикористані в наступних запитах. Це може підвищити продуктивність програми, так і розділити дані між декількома процесами PHP.

  • *Session Handler (доступно з версії 1.1.0)*- обробник сесій WinCache може бути використаний для збереження даних сесії в кеші в пам'яті, що розділяється. Це дозволяє уникнути дискових операцій під час запису та читання даних сесії, що може сильно збільшити продуктивність, якщо таких даних багато.