Phalcon\Cache\Multiple
Класс Phalcon\Cache\Multiple
Позволяет читать привязанные базовые адаптеры, записывающие несколько бэкендов
<?php
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,
]
);
//Бэкэнды регистрируются от самого быстрого до более медленного
$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/",
]
),
]
);
//Сохранить, сохраняет в каждом бэкэнд
$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 ()
Сбросить все бэкэнд (ы)