Класс Phalcon\Cache\Backend\Libmemcached

расширяет абстрактный класс Phalcon\Cache\Backend

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

Source on GitHub

Позволяет кэшировать выходные фрагменты, данные PHP или исходные данные в libmemcached бэкэнда. По умолчанию используются постоянные кэш-пулы подключений.

<?php

use Phalcon\Cache\Backend\Libmemcached;
use Phalcon\Cache\Frontend\Data as FrontData;

// Кэширование данных на 2 дня
$frontCache = new FrontData(
    [
        "lifetime" => 172800,
    ]
);

// Создание настроек кэша memcached параметры подключения
$cache = new Libmemcached(
    $frontCache,
    [
        "servers" => [
            [
                "host"   => "127.0.0.1",
                "port"   => 11211,
                "weight" => 1,
            ],
        ],
        "client" => [
            \Memcached::OPT_HASH       => \Memcached::HASH_MD5,
            \Memcached::OPT_PREFIX_KEY => "prefix.",
        ],
    ]
);

// Кэшировать произвольные данные
$cache->save("my-data", [1, 2, 3, 4, 5]);

// Получить данные
$data = $cache->get("my-data");

Methods

public __construct (Phalcon\Cache\FrontendInterface $frontend, [array $options])

Phalcon\Cache\Backend\Memcache конструктор

public _connect ()

Создать внутреннее соединение с memcached

public get (mixed $keyName, [mixed $lifetime])

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

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

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

public boolean delete (int | string $keyName)

Удаляет значение из кэша по его ключу

public queryKeys ([mixed $prefix])

Запрос существующих кэшированных ключей.

<?php

$cache->save("users-ids", [1, 2, 3]);
$cache->save("projects-ids", [4, 5, 6]);

var_dump($cache->queryKeys("users")); // ["users-ids"]

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

Проверяет, существует ли кэш и не истек ли срок его действия

public increment ([string $keyName], [mixed $value])

Приращение заданного $ keyName на $value

public decrement ([string $keyName], [mixed $value])

Уменьшение $keyName на заданное $value

public flush ()

Немедленно аннулирует все существующие элементы. Memcached не поддерживает flush() по умолчанию. Если вам требуется поддержка flush (), установите $config["statsKey"]. Все измененные ключи хранятся в"statsKey". Примечание: statsKey оказывает негативное влияние на производительность.

<?php

$cache = new \Phalcon\Cache\Backend\Libmemcached(
    $frontCache,
    [
        "statsKey" => "_PHCM",
    ]
);

$cache->save("my-data", [1, 2, 3, 4, 5]);

// 'my-data' и все остальные используемые ключи удаляются
$cache->flush();

 

public getFrontend () inherited from Phalcon\Cache\Backend

...

public setFrontend (mixed $frontend) inherited from Phalcon\Cache\Backend

...

public getOptions () inherited from Phalcon\Cache\Backend

...

public setOptions (mixed $options) inherited from Phalcon\Cache\Backend

...

public getLastKey () inherited from Phalcon\Cache\Backend

...

public setLastKey (mixed $lastKey) inherited from Phalcon\Cache\Backend

...

public mixed start (int | string $keyName, [int $lifetime]) inherited from Phalcon\Cache\Backend

Запускает кэш. KeyName позволяет идентифицировать созданный фрагмент

public stop ([mixed $stopBuffer]) наследуется от Phalcon\Cache\Backend

Останавливает интерфейс без сохранения кэшированного содержимого

public isFresh () наследуется от Phalcon\Cache\Backend

Проверяет, является ли последний кэш свежим или кэшированным

public isStarted () наследуется от Phalcon\Cache\Backend

Проверяет, имеет ли кэш запуск буферизации или нет

public int getLifetime () наследуется от Phalcon\Cache\Backend

Возвращает последний набор времени жизни