-
Notifications
You must be signed in to change notification settings - Fork 39
Cache
Данный класс лишь враппер для ленивой инициализации адаптеров кеширования, ну и чтобы ничего не ломалось, даже если кеш пытаемся использовать без подключенного кеширования. Так же есть возможность вешать метки на определенные ключи (тегировать)
Настройка для использования 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');
Acl
Application
Auth
Cache
Common
— Exception
— Collection
— Container
— Helper
— Options
— Singleton
Config
Controller
— Data
— Mapper
—— Crud
—— Rest
— Reflection
Crud
— Crud Table
Db
— Row
— Table
— Relations
— Query
Debug
EventManager
Grid
Http
Layout
Logger
Mailer
Messages
Nil
Proxy
Registry
Request
Response
Router
Session
Translator
Validator
View