1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/dongnan-LinkCache

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

LinkCache — гибкий и эффективный PHP-инструмент для кэширования

LinkCache представляет собой библиотеку инструментов кэширования, написанную на PHP. Она обеспечивает поддержку различных драйверов кэширования: Memcache, Memcached, Redis, SSDB, файлы, APC и YAC. LinkCache позволяет унифицировать операции с различными драйверами кэширования и использовать преимущества каждого из них. Библиотека поддерживает кэширование объектов и массивов и оптимизирована для предотвращения эффекта «лавины».

Требования к среде:

Установка:

  1. Композитор: LinkCache можно установить через Composer, используя команду:
$ composer require dongnan/linkcache
  1. Ручная загрузка:
<?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 — устанавливает значение для ключа;

  • параметры:

    • key — строка;
    • value — любое значение, кроме resource;
    • time (необязательный параметр) — время жизни ключа в секундах;
  • возвращает 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 )

Вы можете оставить комментарий после Вход в систему

Введение

Гибкий и эффективный инструментарий для кэширования на PHP. Развернуть Свернуть
BSD-3-Clause
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://gitlife.ru/oschina-mirror/dongnan-LinkCache.git
git@gitlife.ru:oschina-mirror/dongnan-LinkCache.git
oschina-mirror
dongnan-LinkCache
dongnan-LinkCache
master