Ограничитель продолжительности
класс ОграничительПродолжительности (Просмотреть исходный код)
Свойства
| int | $decaysAt | Маркер времени окончания текущей продолжительности. | |
| int | $remaining | Количество оставшихся слотов. |
Методы
| void | __construct(Подключение $redis, string $name, int $maxLocks, int $decay)
Создать новый экземпляр ограничителя продолжительности. | |
| mixed | block(int $timeout, callable|null $callback = null, int $sleep = 750)
Попытка получить блокировку на заданное количество секунд. | |
| bool | acquire()
Попытка получить блокировку. | |
| bool | tooManyAttempts()
Определить, был ли ключ "обращён" слишком много раз. | |
| void | clear()
Очистить ограничитель. | |
| string | luaScript()
Получить Lua скрипт для получения блокировки. | |
| string | tooManyAttemptsLuaScript()
Получить Lua скрипт для определения, был ли ключ "обращён" слишком много раз. |
Подробное описание
void __construct(Подключение $redis, string $name, int $maxLocks, int $decay)
Создать новый экземпляр ограничителя продолжительности.
mixed block(int $timeout, callable|null $callback = null, int $sleep = 750)
Попытка получить блокировку на заданное количество секунд.
bool acquire()
Попытка получить блокировку.
bool tooManyAttempts()
Определить, был ли ключ "обращён" слишком много раз.
void clear()
Очистить ограничитель.
protected string luaScript()
Получить Lua скрипт для получения блокировки.
KEYS[1] - Имя ограничителя ARGV[1] - Текущее время в микросекундах ARGV[2] - Текущее время в секундах ARGV[3] - Продолжительность буфера ARGV[4] - Разрешённое количество задач
protected string tooManyAttemptsLuaScript()
Получить Lua скрипт для определения, был ли ключ "обращён" слишком много раз.
KEYS[1] - Имя ограничителя ARGV[1] - Текущее время в микросекундах ARGV[2] - Текущее время в секундах ARGV[3] - Продолжительность буфера ARGV[4] - Разрешённое количество задач
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/9.x/Illuminate/Redis/Limiters/DurationLimiter.html