Класс Phalcon\Cache\Frontend\Igbinary

расширяет класс Phalcon\Cache\Frontend\Data

Реализует Phalcon\Cache\FrontendInterface

Source on GitHub

Позволяет кэшировать собственные данные PHP в сериализованной форме с использованием расширения igbinary

<?php

// Кэшировать файлы в течение 2 дней с помощью Igbinary frontend
$frontCache = new \Phalcon\Cache\Frontend\Igbinary(
    [
        "lifetime" => 172800,
    ]
);

// Создайте компонент, который будет кэшировать "Igbinary" в "File" backend
// Установите каталог файла кэша-важно сохранить "/" 
// в конце значения для папки
$cache = new \Phalcon\Cache\Backend\File(
    $frontCache,
    [
        "cacheDir" => "../app/cache/",
    ]
);

$cacheKey = "robots_order_id.cache";

// Попробуйте получить кэшированные записи
$robots = $cache->get($cacheKey);

if ($robots === null) {
    // $robots является недействительным из-за истечения срока действия кэша или данных не существует
    // Вызовите базу данных и заполните переменную
    $robots = Robots::find(
        [
            "order" => "id",
        ]
    );

    // Сохраните его в кэше
    $cache->save($cacheKey, $robots);
}

// Use $robots :)
foreach ($robots as $robot) {
    echo $robot->name, "\n";
}

Методы

public __construct ([array $frontendOptions])

Phalcon\Cache\Frontend\Data конструктор

public getLifetime ()

Возвращает время жизни кэша

public isBuffering ()

Проверьте, буферизует ли интерфейс вывод

public start ()

Запускает вывод интерфейса. На самом деле, ничего не делает

public string getContent ()

Возвращает кэшированное содержимое вывода

public stop ()

Останавливает вывод интерфейса

public beforeStore (mixed $data)

Сериализует данные перед их хранением

public afterRetrieve (mixed $data)

Ансериализует данные после извлечения