Spec-Zone.ru › Laravel 7

Ограничитель одновременного доступа

класс ConcurrencyLimiter (Просмотреть исходный код)

Свойства

protected Connection $redis

Реализация фабрики Redis.

protected string $name

Имя ограничителя.

protected int $maxLocks

Разрешённое количество одновременных задач.

protected int $releaseAfter

Количество секунд, в течение которого слот должен поддерживаться.

Методы

void __construct(Connection $redis, string $name, int $maxLocks, int $releaseAfter)

Создать новый экземпляр ограничителя одновременного доступа.

bool block(int $timeout, callable|null $callback = null)

Попытка получить блокировку на заданное количество секунд.

mixed acquire(string $id)

Попытка получить блокировку.

string lockScript()

Получить Lua-скрипт для получения блокировки.

void release(string $key, string $id)

Освободить блокировку.

string releaseScript()

Получить Lua-скрипт для атомного освобождения блокировки.

Подробное описание

void __construct(Connection $redis, string $name, int $maxLocks, int $releaseAfter)

Создать новый экземпляр ограничителя одновременного доступа.

Параметры

Connection $redis
string $name
int $maxLocks
int $releaseAfter

Возвращаемое значение

void

bool block(int $timeout, callable|null $callback = null)

Попытка получить блокировку на заданное количество секунд.

Параметры

int $timeout
callable|null $callback

Возвращаемое значение

bool

Исключения

LimiterTimeoutException
Исключение

protected mixed acquire(string $id)

Попытка получить блокировку.

Параметры

string $id

Уникальный идентификатор этой блокировки

Возвращаемое значение

mixed

protected string lockScript()

Получить Lua-скрипт для получения блокировки.

KEYS - Ключи, представляющие доступные слоты ARGV[1] - Название ограничителя ARGV[2] - Количество секунд, на которое должен быть зарезервирован слот ARGV[3] - Уникальный идентификатор этой блокировки

Возвращаемое значение

string

protected void release(string $key, string $id)

Освободить блокировку.

Параметры

string $key
string $id

Возвращаемое значение

void

protected string releaseScript()

Получить Lua-скрипт для атомного освобождения блокировки.

KEYS[1] - Название блокировки ARGV[1] - Уникальный идентификатор этой блокировки

Возвращаемое значение

string

© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/7.x/Illuminate/Redis/Limiters/ConcurrencyLimiter.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API