-
Notifications
You must be signed in to change notification settings - Fork 37
Cache
с версии 0.5.0 изменилась структура конфигурации пакета
с версии 0.6.0 изменился способ вызова - теперь используется пакет Proxy
Данный класс лишь враппер для ленивой инициализации адаптеров кеширования, ну и чтобы ничего не ломалось, даже если кеш пытаемся использовать без подключенного кеширования. Так же есть возможность вешать метки на определенные ключи (тегировать)
Пример настройки для использования memcached как основного адаптера кеширования:
"cache" => 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'])
),Код контроллера:
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