Table of Contents
Кешування використовується для прискорення викликів display () або fetch () за допомогою збереження результатів їх роботи в файл. Якщо доступна кешована версія виклику, вона відображається замість повторної обробки шаблону. Кешування може значно прискорити роботу, особливо в разі тривало оброблюваних шаблонів. Так як результат роботи методів display () або fetch () кешируєтся, один файл кеша цілком може складатися з декількох файлів шаблонів, конфігураційних файлів і т.д.
Так як шаблони динамічні, дуже важливо бути обережним щодо того, що ви кешіруете і на який період. Наприклад, якщо ви відображаєте головну сторінку вашого сайту, яка змінює свій вміст досить рідко, хорошою ідеєю може бути кешування цієї сторінки на годину і більше. З іншого боку, якщо ви відображаєте сторінку з картою погоди, яка оновлюється щохвилини, сенсу в кешуванні цієї сторінки немає.
Налаштування кешування
Перш за все, кешування необхідно активувати. Це можна зробити, встановивши $ caching = true (або 1).
Example 14.1. включення кешування
При включеному кешуванні, що викликається функція display ( 'index.tpl') інтерпретує шаблон як зазвичай, але також зберігає копію висновку в файл (кешування копію) в $ cache_dir. При наступному виклику display ( 'index.tpl'), замість повторної інтерпретації шаблону, буде використана кешування копія.
технічне зауваження
Файли в директорії $ cache_dir мають ті ж імена, що і відповідні шаблони. Їх імена закінчуються розширенням ".php", але насправді вони не є виконуваними php-скриптами. Чи не редагуйте ці файли!
Кожна кешування сторінка існує протягом певного часу, зазначеного в $ cache_lifetime. Значення за замовчуванням рівна 3600 секундам або 1 годині. Після того, як цей час закінчується, кеш оновлюється. Існує можливість присвоїти кожній кешування сторінці власний час життя, встановивши $ caching = 2. Дивіться документацію $ cache_lifetime для отримання детальної інформації.
Example 14.2. Установка власного cache_lifetime для кешування копії
Якщо Ви увімкнули $ compile_check. то кожен файл шаблону і конфігурації, пов'язаний з файлом кешу, перевіряється на наявність змін. Якщо один з цих файлів був модифікований з тих пір, як кеш був створений, кеш негайно оновлюється. Це трохи підвищує навантаження, тому, для оптимальної продуктивності залиште значення $ compile_check рівним false.
Example 14.3. Включення $ compile_check
Якщо $ force_compile активований, файли кешу завжди будуть оновлюватися. Цей засіб можна використовувати для відключення кешування під час налагодження. $ Force_compile зазвичай використовується тільки в цілях налагодження, так як більш правильним способом відключення кешування є установка $ caching = false (або 0).
Функція is_cached () може бути використана для визначення, чи є у шаблону працездатний кеш. Якщо у вас є кешування шаблон, якому необхідно, наприклад, отримати вибірку з бази даних, ви можете скористатися цією функцією, щоб пропустити процес звернення до бази.
Example 14.4. Використання is_cached ()
Ви можете зробити так, щоб частина сторінки залишалася динамічної, навіть якщо сторінка кешується, за допомогою вбудованої функції insert. Наприклад, кешуватися може вся сторінка, за винятком банера. Використовуючи функцію insert для банера, ви можете зберігати цей елемент динамічним, всередині кешування сторінки. Дивіться документацію по insert для отримання подробиць і прикладів.
Очистити всі файли кешу можна за допомогою функції clear_all_cache (). а конкретний файл кешу (або групу) - викликавши clear_cache () функцію.
Example 14.5. очищення кешу