Download the PHP package fi1a/cache without Composer
On this page you can find all versions of the php package fi1a/cache. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Package cache
Short Description PHP библиотека реализующая кэш (cache)
License MIT
Homepage https://github.com/fi1a/cache
Informations about the package cache
PHP библиотека реализующая кэш (cache)
PHP библиотека предоставляет классы и методы для реализации кэширования. Имеются адаптеры для различных механизмов кэширования.
Доступные адаптеры:
Fi1a\Cache\Adapters\FilesystemAdapter
- адаптер кэширования в файловой системе;Fi1a\Cache\Adapters\MemoryAdapter
- адаптер кэширования в памяти;Fi1a\Cache\Adapters\NullAdapter
- адаптер null.
Установка
Установить этот пакет можно как зависимость, используя Composer.
Доступ к значениям и сохранение кэша
Для доступа к значениям кэша используется класс, реализующий интерфейс Fi1a\Cache\CacheItemPoolInterface
.
Он представляет собой логический репозиторий для всех значений кэша.
Все кэшируемые элементы извлекаются как объекты Fi1a\Cache\CacheItemInterface
.
Аргументы конструктора Fi1a\Cache\CacheItemPoolInterface
:
Метод | Описание |
---|---|
AdapterInterface $adapter | Объект адаптер для хранения кэша |
string $namespace = '' | Пространство имен для ключей кэша |
int $defaultTtl = 0 | Время жизни по умолчанию для элемента кэша |
Методы Fi1a\Cache\CacheItemPoolInterface
реализующего пулл элементов кэша:
Метод | Описание |
---|---|
getItem($key, ?string $hash = null): CacheItemInterface | Возвращает значение |
getItems(array $keys): array | Возвращает значения ($keys = [['key1', 'hash1',], ['key1', 'hash1',],]) |
hasItem($key, ?string $hash = null): bool | Проверяет наличие значения |
deleteItem($key): bool | Удаляет значение |
deleteItems(array $keys): bool | Удаляет значения ($keys = ['key1', 'key2', 'key3',]) |
clear(): bool | Очищает |
save(CacheItemInterface $item): bool | Сохраняет значение |
saveDeferred(CacheItemInterface $item): bool | Отложенное сохранения значения |
commit(): bool | Выполняет отложенное сохранение |
Значения кэша
Fi1a\Cache\CacheItemInterface
определяет элемент, используемый в системе кэширования.
Объект реализующий интерфейс Fi1a\Cache\CacheItemInterface
создается классом Fi1a\Cache\CacheItemPoolInterface
,
который отвечает за все необходимые настройки, а также связывает объект с уникальным ключом.
Получить один элемент кэша:
Если нет элемента кэша с ключом 'cache-key', будет возвращен новый элемент кэша.
Получить несколько элементов кэша:
В случае отсутствия какого либо элемента кэша с определенным ключом, будет возвращен новый элемент кэша.
Методы интерфейса Fi1a\Cache\CacheItemInterface
реализующего элемент кэша:
Метод | Описание |
---|---|
getKey() | Возвращает ключ |
get() | Возвращает значение |
isHit(): bool | Возвращает true, если значение извлечено |
set($value) | Устанавливает значение |
setHash(?string $hash = null) | Установить хеш значения |
getHash(): ?string | Возвращает хеш значения |
expiresAt(?DateTimeInterface $expiration) | Истечет в переданное время |
expiresAfter($time) | Истекает через переданное время |
getExpire() | Возвращает когда закончится срок жизни |
Адаптер кэширования в файловой системе
Для использования кэширования в файловой системе, следует передать объект Fi1a\Cache\Adapters\FilesystemAdapter
в конструктор класса Fi1a\Cache\CacheItemPool
:
Класс Fi1a\Cache\Adapters\FilesystemAdapter
в качесве аргумента, конструктор принимает путь до папки, где будут
расположены файлы кэша.
Адаптер кэширования в памяти
Иногда нужно хранить кэш только на момент выполнения, а по завершению его удалять. Для этого можно использовать
адаптер кэширования в памяти Fi1a\Cache\Adapters\MemoryAdapter
.
Адаптер null
Адаптер null представляет собой нейтральное, «бездейственное» поведение. Можно использовать в логике, когда кэширование поддерживается, но оно на данный момент не нужно.