DatabaseStore
class DatabaseStore implements LockProvider, Store (View source)
Traits
Properties
protected ConnectionInterface | $connection | The database connection instance. |
|
protected ConnectionInterface | $lockConnection | The database connection instance that should be used to manage locks. |
|
protected string | $table | The name of the cache table. |
|
protected string | $prefix | A string that should be prepended to keys. |
|
protected string | $lockTable | The name of the cache locks table. |
|
protected array | $lockLottery | An array representation of the lock lottery odds. |
|
protected int | $defaultLockTimeoutInSeconds | The default number of seconds that a lock should be held. |
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 database store.
Retrieve an item from the cache by key.
Retrieve multiple items from the cache by key.
Store an item in the cache for a given number of seconds.
Store multiple items in the cache for a given number of seconds.
Store an item in the cache if the key doesn't exist.
Increment the value of an item in the cache.
Decrement the value of an item in the cache.
Increment or decrement an item in the cache.
Get the current system time.
Store an item in the cache indefinitely.
Restore a lock instance using the owner identifier.
Remove an item from the cache.
Remove an item from the cache if it is expired.
Remove all items from the cache.
Remove all expired items from the given set from the cache.
Remove all items from the cache.
Get the underlying database connection.
Specify the name of the connection that should be used to manage locks.
Get the cache key prefix.
Set the cache key prefix.
Serialize the given value.
Unserialize the given value.
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 string
runTimeForHumans(float $startTime, float $endTime = null)
Given a start time, format the total run time for human readability.
__construct(ConnectionInterface $connection, string $table, string $prefix = '', string $lockTable = 'cache_locks', array $lockLottery = [2, 100], $defaultLockTimeoutInSeconds = 86400)
Create a new database store.
array
many(array $keys)
Retrieve multiple items from the cache by key.
Items not found in the cache will have a null value.
bool
put(string $key, mixed $value, int $seconds)
Store an item in the cache for a given number of seconds.
bool
putMany(array $values, int $seconds)
Store multiple items in the cache for a given number of seconds.
bool
add(string $key, mixed $value, int $seconds)
Store an item in the cache if the key doesn't exist.
protected int|false
incrementOrDecrement(string $key, int|float $value, Closure $callback)
Increment or decrement an item in the cache.
protected bool
forgetManyIfExpired(array $keys, bool $prefixed = false)
Remove all expired items from the given set from the cache.
$this
setLockConnection(ConnectionInterface $connection)
Specify the name of the connection that should be used to manage locks.