Ограничитель по времени
класс Ограничитель по времени (Просмотреть исходный код)
Свойства
| int | $decaysAt | Отметка времени окончания текущего периода. | |
| int | $remaining | Количество оставшихся слотов. |
Методы
| void | __construct(Подключение $redis, string $name, int $maxLocks, int $decay)
Создать новый экземпляр ограничителя по времени. | |
| mixed | block(int $timeout, callable|null $callback = null)
Попытка получить блокировку на заданное количество секунд. | |
| 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)
Попытка получить блокировку на заданное количество секунд.
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/8.x/Illuminate/Redis/Limiters/DurationLimiter.html