DurationLimiter
class DurationLimiter (View source)
Properties
int | $decaysAt | The timestamp of the end of the current duration. | |
int | $remaining | The number of remaining slots. |
Methods
void | __construct(Connection $redis, string $name, int $maxLocks, int $decay) Create a new duration limiter instance. | |
bool | block(int $timeout, callable|null $callback = null) Attempt to acquire the lock for the given number of seconds. | |
bool | acquire() Attempt to acquire the lock. | |
string | luaScript() Get the Lua script for acquiring a lock. |
Details
void __construct(Connection $redis, string $name, int $maxLocks, int $decay)
Create a new duration limiter instance.
bool block(int $timeout, callable|null $callback = null)
Attempt to acquire the lock for the given number of seconds.
bool acquire()
Attempt to acquire the lock.
protected string luaScript()
Get the Lua script for acquiring a lock.
KEYS[1] - The limiter name ARGV[1] - Current time in microseconds ARGV[2] - Current time in seconds ARGV[3] - Duration of the bucket ARGV[4] - Allowed number of tasks
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/5.7/Illuminate/Redis/Limiters/DurationLimiter.html