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

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

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

Source on GitHub

Позволяет кэшировать собственные данные PHP в сериализованной форме с использованием расширения msgpack. Этот адаптер использует внешний интерфейс Msgpack для хранения кэшированного содержимого и требует расширения msgpack.

<?php

use Phalcon\Cache\Backend\File;
use Phalcon\Cache\Frontend\Msgpack;

// Кэш файлов в течение 2 дней с использованием интерфейса Msgpack
$frontCache = new Msgpack(
    [
        "lifetime" => 172800,
    ]
);

// Создайте компонент, который будет кэшировать «Msgpack» в бэкэнде «Файл»
// Задайте каталог файлов кеша - важно сохранить «/» 
// в конце значения для папки
$cache = new 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);
}

// Используйте $robots
foreach ($robots as $robot) {
    echo $robot->name, "\n";
}

Методы

public __construct ([array $frontendOptions])

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

public getLifetime ()

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

public isBuffering ()

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

public start ()

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

public getContent ()

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

public stop ()

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

public beforeStore (mixed $data)

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

public afterRetrieve (mixed $data)

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