LinkCache — гибкий и эффективный PHP-инструмент для кэширования
LinkCache представляет собой библиотеку инструментов кэширования, написанную на PHP. Она обеспечивает поддержку различных драйверов кэширования: Memcache, Memcached, Redis, SSDB, файлы, APC и YAC. LinkCache позволяет унифицировать операции с различными драйверами кэширования и использовать преимущества каждого из них. Библиотека поддерживает кэширование объектов и массивов и оптимизирована для предотвращения эффекта «лавины».
Требования к среде:
Установка:
$ composer require dongnan/linkcache
<?php
// Включить автозагрузку LinkCache
include("path_to_linkcache/autoload.php");
Использование:
Для получения дополнительной информации о LinkCache рекомендуется обратиться к документации на сайте https://github.com/dongnan/LinkCache.
config: настройка параметров.
instance: создание экземпляра кэша.
getDriver: получение экземпляра драйвера кэша.
set: установка значения ключа.
setnx: установка значения ключа, если ключ не существует.
setDE: установка значения ключа с автоматическим истечением срока действия.
get: получение значения по ключу.
getDE: получение значения по ключу с истекающим сроком действия.
del: удаление ключа.
has: проверка существования ключа.
hasDE: проверка существования истекающего ключа.
ttl: получение времени жизни ключа в секундах.
ttlDE: получение теоретического времени жизни истекающего ключа в секундах.
expire: установка времени жизни ключа в секундах.
expireDE: установка истекающего времени жизни ключа в секундах.
expireAt: установка времени истечения срока действия ключа по метке времени UNIX.
expireAtDE: установка истекающего времени истечения срока действия ключа по метке времени UNIX.
persist: удаление времени жизни ключа, делая его постоянным.
lock: установка блокировки на ключ (не влияет на значение ключа).
isLock: проверка наличия блокировки на ключе.
unLock: снятие блокировки с ключа.
incr: увеличение значения ключа на целое число.
incrByFloat: увеличение значения ключа на дробное число.
decr: уменьшение значения ключа на целое число.
mSet: установка нескольких значений ключей.
mSetNX: установка значений ключей, только если они не существуют.
mGet: получение всех значений заданных ключей.
mHas: проверка существования заданных ключей.
mDel: удаление заданных ключей. Текст запроса на русском языке:
set — устанавливает значение для ключа;
параметры:
возвращает true, если установка прошла успешно, и false в противном случае;
пример использования:
<?php
//установка значения без времени жизни
$status = $cache->set($key, $value);
//установка значения с временем жизни
$status = $cache->set($key, $value, $time);
setnx — устанавливает значение только при отсутствии ключа;
параметры аналогичны set;
возвращает true при успешной установке и false иначе;
пример:
<?php
//установка значения без времени жизни
$status = $cache->setnx($key, $value);
//установка значения с временем жизни
$status = $cache->setnx($key, $value, $time);
setDE — устанавливает значение с задержкой истечения срока действия;
параметры аналогичны set, но добавляется delayTime — задержка истечения срока действия ключа (если не указано, используется значение из конфигурации);
возвращает true при успешной установке и false иначе;
пример:
<?php
//установка значения без времени жизни
$status = $cache->setDE($key, $value);
//установка значения с временем жизни
$status = $cache->setDE($key, $value, $time);
//установка значения с временем жизни и задержкой истечения срока действия
$status = $cache->setDE($key, $value, $time, $delayTime);
get — получает значение по ключу;
параметр key — ключ;
возвращает значение или false, если ключ не найден;
пример:
<?php
//получение значения
$value = $cache->get($key);
getDE — получение значения по ключу с учётом задержки истечения срока действия;
параметры key и isExpired (isExpired — переменная, которая указывает, истёк ли срок действия ключа);
возвращает значение или false, если ключ не найден или истёк срок его действия;
пример:
<?php
//получение значения
$value = $cache->getDE($key, $isExpired);
//обработка случая истечения срока действия
if ($isExpired) {
//TODO
}
del — удаляет ключ;
параметр key — удаляемый ключ;
возвращает true при успешном удалении и false при неудаче;
примечание: возвращает true даже при отсутствии ключа;
пример:
<?php
//удаление ключа
$status = $cache->del($key);
has — проверяет наличие ключа;
параметр key — проверяемый ключ;
возвращает true, если ключ существует, и false если нет;
пример:
<?php
//проверка наличия ключа
$status = $cache->has($key);
hasDE — проверка наличия ключа с учётом задержки истечения срока действия;
параметр key — проверяемый ключ;
возвращает true, если ключ существует, и false если нет;
пример:
<?php
//проверка наличия ключа
$status = $cache->hasDE($key);
ttl — возвращает оставшееся время жизни ключа;
параметр key — ключ, для которого нужно получить время жизни;
возвращает оставшееся время в секундах: -1 — ключ никогда не истечёт, -2 — ключ не существует, false — ошибка;
пример:
<?php
//получение оставшегося времени жизни ключа
$ttl = $cache->ttl($key);
ttlDE — возвращает оставшееся время жизни с учётом задержки истечения срока действия;
параметр key — ключ, для которого нужно получить время жизни;
возвращает оставшееся время в секундах аналогично ttl: -1 — ключ никогда не истечёт, -2 — ключ не существует, false — ошибка;
пример:
<?php
//получение оставшегося времени жизни с учётом задержки истечения срока действия
$ttl = $cache->ttlDE($key);
expire — устанавливает время жизни ключа;
параметры key, time — устанавливаемый ключ и время его жизни в секундах соответственно;
возвращает true при успехе и false при ошибке или отсутствии ключа;
пример:
<?php
//установление времени жизни ключа
$status = $cache->expire($key, $time);
expireDE — устанавливает время жизни с учётом задержки истечения срока действия;
параметры key, time, delayTime (delayTime — необязательный параметр, задержка истечения срока действия) — устанавливаемый ключ, время его жизни и задержка истечения срока действия соответственно;
возвращает true при успехе и false при ошибке или отсутствии ключа;
примеры:
<?php
//установление времени жизни с учётом задержки истечения срока действия
$status = $cache->expireDE($key, $time);
//установление времени жизни и пользовательской задержки истечения срока действия
$status = $cache->expireDE($key, $time, $delayTime);
expireAt — устанавливает время истечения срока действия по UNIX-времени;
параметры key, time — ключ и UNIX-время истечения срока действия в секундах соответственно;
возвращает true при успехе и false при ошибке или отсутствии ключа;
пример:
<?php
//установление времени истечения срока действия по UNIX-времени
$status = $cache->expireAt($key, $time);
expireAtDE — устанавливает время истечения срока действия с учётом задержки по UNIX-времени;
параметры key, time, delayTime (delayTime — необязательный параметр, задержка истечения срока действия) — ключ, UNIX-время истечения срока действия и задержка истечения срока действия соответственно;
возвращает true при успехе и false при ошибке или отсутствии ключа;
примеры:
<?php
//установление времени истечения срока действия с учётом задержки
$status = $cache->expireAtDE($key, $time);
//установление времени истечения срока действия и пользовательской задержки
$status = $cache->expireAtDE($key, $time, $delayTime);
persist — делает ключ постоянным, то есть ключ никогда не истекает;
параметр key — ключ;
возвращает true при успехе и false при ошибке или отсутствии ключа. Пример кода на PHP
<?php
// Удаление ключа с постоянным сроком действия
$status = $cache->persist($key);
// Установка блокировки для ключа
$status = $cache->lock($key, $time);
// Проверка наличия блокировки у ключа
$status = $cache->isLock($key);
// Снятие блокировки с ключа
$status = $cache->unLock($key);
// Увеличение значения ключа на целое число
$value = $cache->incr($key, $step);
// Увеличение значения ключа на дробное число
$value = $cache->incrByFloat($key, $float);
// Уменьшение значения ключа на целое число
$value = $cache->decr($key, $step);
// Пакетная установка значений для ключей
$status = $cache->mSet($sets);
// Пакетная установка только новых значений для ключей
$status = $cache->mSetNX($sets);
// Получение всех значений по заданным ключам
$values = $cache->mGet($keys);
// Массовая проверка существования ключей
$hasKeys = $cache->mHas($keys);
// Массовое удаление ключей
$status = $cache->mDel($keys);
В запросе представлен код на языке PHP. В тексте запроса используются методы работы с кешем.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )