-
Notifications
You must be signed in to change notification settings - Fork 39
Cache
Данный класс лишь враппер для ленивой инициализации адаптеров кеширования, ну и чтобы ничего не ломалось, даже если кеш пытаемся использовать без подключенного кеширования. Так же есть возможность вешать метки на определенные ключи (тегировать)
с версии 0.5.0 изменилась структура конфигурации пакета
Пример настройки для использования memcached как основного адаптера кеширования:
//
// config file cache.php
return array(
"enabled" => true,
"adapter" => "memcached",
"prefix" => "bluz:",
"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,
"adapter" => "phpFile",
"tagAdapter" => "apc"
"settings" => array(
"apc" => array()
)
)Можно непосредственно в конфигурационном файле инициировать адаптер:
"cache" => array(
"tagAdapter" => new \Bluz\Cache\Adapter\PhpFile(['cacheDir'=>PATH_DATA.'/cache'])
),с версии 0.6.0 изменился способ вызова - теперь только через Proxy
Код контроллера:
use Bluz\Proxy\Cache;
if (!$data = Cache::get('key')) {
$data = 1*2*3*4*5; // any calculation
Cache::set('key', $data, /*TTL in seconds*/ 60)
}Работа с метками:
use Bluz\Proxy\Cache;
Cache::set('user:profile:42', $data, /*TTL in seconds*/ 3600);
Cache::addTag('user:profile:42', 'user');
Cache::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 Desktop 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