Spec-Zone.ru › Laravel 5.8

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

класс 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/5.8/Illuminate/Redis/Limiters/ConcurrencyLimiter.html

Spec-Zone.ru

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