PhpRedisLock
class PhpRedisLock extends RedisLock (View source)
Traits
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 string | $owner | The scope identifier of this lock. |
from Lock |
protected int | $sleepMilliseconds | The number of milliseconds to wait before re-attempting to acquire a lock while blocking. |
from Lock |
protected Connection | $redis | The Redis factory implementation. |
from RedisLock |
Methods
Get the number of seconds until the given DateTime.
If the given value is an interval, convert it to a DateTime instance.
Given a start time, format the total run time for human readability.
Create a new phpredis lock instance.
Release the lock.
Returns the owner value written into the driver for this lock.
Attempt to acquire the lock for the given number of seconds.
Determines whether this lock is allowed to release the lock in the driver.
Determine whether this lock is owned by the given identifier.
Specify the number of milliseconds to sleep in between blocked lock acquisition attempts.
Get the name of the Redis connection being used to manage the lock.
Details
protected int
secondsUntil(DateTimeInterface|DateInterval|int $delay)
Get the number of seconds until the given DateTime.
protected int
availableAt(DateTimeInterface|DateInterval|int $delay = 0)
Get the "available at" UNIX timestamp.
protected DateTimeInterface|int
parseDateInterval(DateTimeInterface|DateInterval|int $delay)
If the given value is an interval, convert it to a DateTime instance.
protected int
currentTime()
Get the current system time as a UNIX timestamp.
protected string
runTimeForHumans(float $startTime, float $endTime = null)
Given a start time, format the total run time for human readability.
void
__construct(Connection $redis, string $name, int $seconds, string|null $owner = null)
Create a new phpredis lock instance.
bool
acquire()
Attempt to acquire the lock.
bool
release()
Release the lock.
protected string
getCurrentOwner()
Returns the owner value written into the driver for this lock.
in
Lock at line 89
mixed
get(callable|null $callback = null)
Attempt to acquire the lock.
in
Lock at line 113
mixed
block(int $seconds, callable|null $callback = null)
Attempt to acquire the lock for the given number of seconds.
in
Lock at line 145
string
owner()
Returns the current owner of the lock.
in
Lock at line 155
bool
isOwnedByCurrentProcess()
Determines whether this lock is allowed to release the lock in the driver.
in
Lock at line 166
bool
isOwnedBy(string|null $owner)
Determine whether this lock is owned by the given identifier.
in
Lock at line 177
$this
betweenBlockedAttemptsSleepFor(int $milliseconds)
Specify the number of milliseconds to sleep in between blocked lock acquisition attempts.
void
forceRelease()
Releases this lock in disregard of ownership.
string
getConnectionName()
Get the name of the Redis connection being used to manage the lock.