RedisLock

class RedisLock extends Lock (View source)

Traits

InteractsWithTime

Properties

protected string $name The name of the lock. from Lock
protected int $seconds The number of seconds the lock should be maintained. from Lock
protected Connection $redis The Redis factory implementation.

Methods

int secondsUntil(DateTimeInterface|DateInterval|int $delay)

Get the number of seconds until the given DateTime.

from InteractsWithTime
int availableAt(DateTimeInterface|DateInterval|int $delay = 0)

Get the "available at" UNIX timestamp.

from InteractsWithTime
DateTimeInterface|int parseDateInterval(DateTimeInterface|DateInterval|int $delay)

If the given value is an interval, convert it to a DateTime instance.

from InteractsWithTime
int currentTime()

Get the current system time as a UNIX timestamp.

from InteractsWithTime
void __construct(Connection $redis, string $name, int $seconds)

Create a new lock instance.

bool acquire()

Attempt to acquire the lock.

void release()

Release the lock.

bool get(callable|null $callback = null)

Attempt to acquire the lock.

from Lock
bool block(int $seconds, callable|null $callback = null)

Attempt to acquire the lock for the given number of seconds.

from Lock

Details

protected int secondsUntil(DateTimeInterface|DateInterval|int $delay)

Get the number of seconds until the given DateTime.

Parameters

DateTimeInterface|DateInterval|int $delay

Return Value

int

protected int availableAt(DateTimeInterface|DateInterval|int $delay = 0)

Get the "available at" UNIX timestamp.

Parameters

DateTimeInterface|DateInterval|int $delay

Return Value

int

protected DateTimeInterface|int parseDateInterval(DateTimeInterface|DateInterval|int $delay)

If the given value is an interval, convert it to a DateTime instance.

Parameters

DateTimeInterface|DateInterval|int $delay

Return Value

DateTimeInterface|int

protected int currentTime()

Get the current system time as a UNIX timestamp.

Return Value

int

void __construct(Connection $redis, string $name, int $seconds)

Create a new lock instance.

Parameters

Connection $redis
string $name
int $seconds

Return Value

void

bool acquire()

Attempt to acquire the lock.

Return Value

bool

void release()

Release the lock.

Return Value

void

bool get(callable|null $callback = null)

Attempt to acquire the lock.

Parameters

callable|null $callback

Return Value

bool

bool block(int $seconds, callable|null $callback = null)

Attempt to acquire the lock for the given number of seconds.

Parameters

int $seconds
callable|null $callback

Return Value

bool

Exceptions

LockTimeoutException

© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/5.7/Illuminate/Cache/RedisLock.html