КонкурентныйЛимитер
класс 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 | luaScript() Получить Lua скрипт для получения блокировки. | |
| void | release($key) Освободить блокировку. |
Подробное описание
void __construct(Connection $redis, string $name, int $maxLocks, int $releaseAfter)
Создать новый экземпляр лимитера конкурентного доступа.
bool block(int $timeout, callable|null $callback = null)
Попытка получить блокировку на заданное количество секунд.
protected mixed acquire()
Попытка получить блокировку.
protected string luaScript()
Получить Lua скрипт для получения блокировки.
KEYS - Ключи, представляющие доступные слоты ARGV[1] - Имя лимитера ARGV[2] - Количество секунд, на которое должен быть зарезервирован слот
protected void release($key)
Освободить блокировку.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/5.5/Illuminate/Redis/Limiters/ConcurrencyLimiter.html