Skip to content
AntonShevchuk edited this page Jan 2, 2013 · 35 revisions

Описание

Данный класс лишь враппер для ленивой инициализации адаптеров кеширования, ну и чтобы ничего не ломалось, даже если кеш пытаемся использовать без подключенного кеширования. Так же есть возможность вешать метки на определенные ключи (тегировать)

Настройка

Настройка для использования memcached как основного адаптера кеширования:

<?php
"cache" => array(
    "enabled" => true,
    "settings" => array(
        "cacheAdapter" => array(
            "name" => "memcached",
            "settings" => array(
                "servers" => [
                    ["hippo.nixsolutions.com", 11211, 1],
                ]
            )
        )
    )
)

По умолчанию, для тегирования используется тот же адаптер кеширования, но мы можем указать другой:

<?php
"cache" => array(
    "enabled" => true,
    "settings" => array(
        "tagAdapter" => "apc"
    )
)

Можно непосредственно в конфигурационном файле инициировать адаптер:

"cache" => array(
    "tagAdapter" => new \Bluz\Cache\Adapter\PhpFile(['cacheDir'=>PATH_DATA.'/cache'])
),

Использование

Код контроллера:

<?php
if (!$data = $this->getCache()->get('key')) {
    $data = 1*2*3*4*5; // any calculation
    $this->getCache()->set('key', $data, /*TTL in seconds*/ 60)
}

Работа с метками:

<?php
$this->getCache()->set('user:profile:42', $data, /*TTL in seconds*/ 3600);
$this->getCache()->addTag('user:profile:42', 'user');
$this->getCache()->addTag('user:profile:42', 'user:profile');

Clone this wiki locally