shasoft / psr-cache
PSR-16 cache adapters
v1.1.1
2024-06-09 11:03 UTC
Requires
- psr/cache: ^3
- shasoft/filesystem: *
Requires (Dev)
README
Класс для работы с КЭШем на основе PSR-16
Пакет реализует два класса
- Shasoft\PsrCache\CacheItemPool implements Psr\Cache\CacheItemInterface - класс объекта работы с КЭШем
- Shasoft\PsrCache\PsrCache implements Psr\Cache\CacheItemInterface - класс элемента КЭШа
// Создать объект для работы с КЭШем $cache = new Shasoft\PsrCache\CacheItemPool( new Shasoft\PsrCache\Adapter\CacheAdapter() ); // Получить элемент КЭШа $itemCache = cache->getItem('myKey'); // Если элемент не найден в КЖШе if( !$itemCache->isHit() ) { // то установить значение $itemCache->set('valueCacheItem'); // и сохранить в КЭШ $cache->save($itemCache); } // Вывести значение echo $itemCache->get();
В качестве параметра конструктора класс объекта работы с КЭШем принимает объект адаптера. На текущий момент доступны следующие адаптеры
- Shasoft\PsrCache\Adapter\CacheAdapterArray - КЭШирование в php массиве
- Shasoft\PsrCache\Adapter\CacheAdapterFilesystem - КЭШирование в файловой системе
Для создание своего адаптера необходимо создать свой класс наследовав его от Shasoft\PsrCache\Adapter\CacheAdapter и определить его абстрактные методы:
abstract class CacheAdapter { // Получить значения (Если $has=true, то только проверить наличие значения. // Т.е. вернуть либо false, либо true) abstract public function get(array $keys, bool $has): array; // Удалить указанные значения abstract public function delete(array $keys): bool; // Удалить все значения abstract public function clear(): bool; // Сохранить элементы ['key1'=>'value11, 'key2'=>'value12, ...] // Возвращает список ключей успешно сохраненных элементов abstract public function save(array $items): array; }