-
Notifications
You must be signed in to change notification settings - Fork 39
Cache
Данный класс лишь враппер для ленивой инициализации адаптеров кеширования, ну и чтобы ничего не ломалось, даже если кеш пытаемся использовать без подключенного кеширования. Так же есть возможность вешать метки на определенные ключи (тегировать)
Пример настройки для использования memcached как основного адаптера кеширования:
"cache" => array(
"enabled" => true,
"adapter" => "memcached",
"settings" => array(
"apc" => array(),
"memcached" => array(
"persistent" => "uid",
"servers" => [
["localhost", 11211, 1],
]
),
"phpFile" => array(
"cacheDir" => PATH_ROOT . '/tests/cache'
),
"redis" => array(
"host" => 'localhost'
),
)
)Пример настройки для работы с Redis:
"cache" => array(
"enabled" => true,
"adapter" => "redis",
"settings" => array(
"redis" => array(
"settings" => array(
"host" => '127.0.0.1',
"port" => '6379',
"options" => array(
\Redis::OPT_SERIALIZER => \Redis::SERIALIZER_PHP
)
)
),
)
)Пример настройки для работы с файлами:
"cache" => array(
"enabled" => true,
"adapter" => "phpFile",
"settings" => array(
"phpFile" => array(
"cacheDir" => PATH_ROOT . '/tests/cache'
),
)
)По умолчанию, для тегирования используется тот же адаптер кеширования, но мы можем указать другой:
"cache" => array(
"enabled" => true,
"tagAdapter" => "apc"
"settings" => array(
"apc" => array()
)
)Можно непосредственно в конфигурационном файле инициировать адаптер:
"cache" => array(
"tagAdapter" => new \Bluz\Cache\Adapter\PhpFile(['cacheDir'=>PATH_DATA.'/cache'])
),Код контроллера:
if (!$data = $this->getCache()->get('key')) {
$data = 1*2*3*4*5; // any calculation
$this->getCache()->set('key', $data, /*TTL in seconds*/ 60)
}Работа с метками:
$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');Для отображения статистики APC достаточно найти файл apc.php:
find / -name apc.php* 2>/dev/null
И затем уже его вызвать (настройки доступа описаны внутри скрипта).
Аналогичный скрипт написан и для memcache:
- http://code.google.com/p/phpmemcacheadmin/
- http://livebookmark.net/journal/2008/05/21/memcachephp-stats-like-apcphp/
- http://artur.ejsmont.org/blog/content/first-version-of-memcache-stats-script-based-on-memcachephp
Для работы с Redis рекомендую утилиту Redis Descktop Manager
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