Глава 2. Zend_Cache
Пред. |  | След.

## Глава 2. Zend_Cache

## 2.1. Введение

`Zend_Cache` предоставляет универсальное средство для кэширования данных.

Записи кэша хранятся в базе данных (`File`, `Sqlite`...) с гибкой системой идентификаторов и тегов. Например, легко удалить определенную часть кэшированных данных (все записи кэша помечаются тегами).

Ядро модуля является очень гибким и универсальным. Еще для специфических нужд вы можете использовать пользовательский интерфейс (`Output`, `Function`...) для наиболее подходящего пути работы.

Пример 2.1. Первый пример с ядром Zend_Cache

В первом примере мы будем непосредственно использовать ядро Zend_Cache с серверной частью `File`.

    <?php
    require_once 'Zend/Cache.php';

    $frontendOptions = array(
        'lifeTime' => 7200 // время жизни кэша - 2 часа
    );

    $backendOptions = array(
        'cacheDir' => '/tmp/' // каталог, в котором размещаются файлы кэша
    );

    // создаем объект Zend_Cache
    $cache = Zend_Cache::factory('Core', 'File', $frontendOptions, $backendOptions);

    $id = 'foo'; // идентификатор того, что мы хотим закэшировать

    if (!($cache->test($id))) {
        // кэш отсутствует

        // require_once ... для большей производительности все включения производятся только если кэш отсутствует
        // require_once ...

        // формирование данных кэша
        // пример
        $data = '';
        for ($i=0;$i<10000;$i++) {
            $data = $data . $i;
        }

        // сохраняем результат в кэше
        $cache->save($data);

    } else {
        // получение кэша

        $data = $cache->get($id);

    }

    // делаем что-нибудь с данными :)
    // [...]
    ?>

| Замечание
С `Zend_Cache_Core` вы можете управлять идентификатором кэша.

Пред. |  | След.
1.8. Zend::registry() | Начало | 2.2. Фабрика Zend_Cache