Spec-Zone.ru › Phalcon 3

Класс Phalcon\Cache\Multiple

Исходный код на GitHub

Позволяет читать данные из цепочки адаптеров бэкенда, записывая в несколько бэкендов

use Phalcon\Cache\Frontend\Data as DataFrontend;
use Phalcon\Cache\Multiple;
use Phalcon\Cache\Backend\Apc as ApcCache;
use Phalcon\Cache\Backend\Memcache as MemcacheCache;
use Phalcon\Cache\Backend\File as FileCache;

$ultraFastFrontend = new DataFrontend(
    [
        "lifetime" => 3600,
    ]
);

$fastFrontend = new DataFrontend(
    [
        "lifetime" => 86400,
    ]
);

$slowFrontend = new DataFrontend(
    [
        "lifetime" => 604800,
    ]
);

//Backends are registered from the fastest to the slower
$cache = new Multiple(
    [
        new ApcCache(
            $ultraFastFrontend,
            [
                "prefix" => "cache",
            ]
        ),
        new MemcacheCache(
            $fastFrontend,
            [
                "prefix" => "cache",
                "host"   => "localhost",
                "port"   => "11211",
            ]
        ),
        new FileCache(
            $slowFrontend,
            [
                "prefix"   => "cache",
                "cacheDir" => "../app/cache/",
            ]
        ),
    ]
);

//Save, saves in every backend
$cache->save("my-key", $data);

Методы

public __construct ([Phalcon\Cache\BackendInterface[] $backends])

Конструктор Phalcon\Cache\Multiple

public push (Phalcon\Cache\BackendInterface $backend)

Добавляет бэкенд

public mixed get (string | int $keyName, [int $lifetime])

Возвращает кэшированное содержимое, читая из внутренних бэкендов

public start (string | int $keyName, [int $lifetime])

Запускает каждый бэкенд

public save ([string $keyName], [string $content], [int $lifetime], [boolean $stopBuffer])

Сохраняет кэшированное содержимое во все бэкенды и останавливает фронтенд

public boolean delete (string | int $keyName)

Удаляет значение из каждого бэкенда

public exists ([string | int $keyName], [int $lifetime])

Проверяет, существует ли кэш хотя бы в одном бэкенде

public flush ()

Очистить все бэкенды

© 2011–2017 Phalcon Framework Team
Licensed under the Creative Commons Attribution License 3.0.
https://docs.phalconphp.com/en/latest/api/Phalcon_Cache_Multiple.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API