DatabaseStore

class DatabaseStore implements LockProvider, Store (View source)

Traits

InteractsWithTime
RetrievesMultipleKeys

Properties

protected ConnectionInterface $connection The database connection instance.
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.

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
array many(array $keys)

Retrieve multiple items from the cache by key.

from RetrievesMultipleKeys
bool putMany(array $values, int $seconds)

Store multiple items in the cache for a given number of seconds.

from RetrievesMultipleKeys
void __construct(ConnectionInterface $connection, string $table, string $prefix = '', string $lockTable = 'cache_locks', array $lockLottery = [2, 100])

Create a new database store.

mixed get(string|array $key)

Retrieve an item from the cache by key.

bool put(string $key, mixed $value, int $seconds)

Store an item 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.

int|bool increment(string $key, mixed $value = 1)

Increment the value of an item in the cache.

int|bool decrement(string $key, mixed $value = 1)

Decrement the value of an item in the cache.

int|bool incrementOrDecrement(string $key, mixed $value, Closure $callback)

Increment or decrement an item in the cache.

int getTime()

Get the current system time.

bool forever(string $key, mixed $value)

Store an item in the cache indefinitely.

Lock lock(string $name, int $seconds = 0, string|null $owner = null)

Get a lock instance.

Lock restoreLock(string $name, string $owner)

Restore a lock instance using the owner identifier.

bool forget(string $key)

Remove an item from the cache.

bool flush()

Remove all items from the cache.

Builder table()

Get a query builder for the cache table.

ConnectionInterface getConnection()

Get the underlying database connection.

string getPrefix()

Get the cache key prefix.

string serialize(mixed $value)

Serialize the given value.

mixed unserialize(string $value)

Unserialize the given value.

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

array many(array $keys)

Retrieve multiple items from the cache by key.

Items not found in the cache will have a null value.

Parameters

array $keys

Return Value

array

bool putMany(array $values, int $seconds)

Store multiple items in the cache for a given number of seconds.

Parameters

array $values
int $seconds

Return Value

bool

void __construct(ConnectionInterface $connection, string $table, string $prefix = '', string $lockTable = 'cache_locks', array $lockLottery = [2, 100])

Create a new database store.

Parameters

ConnectionInterface $connection
string $table
string $prefix
string $lockTable
array $lockLottery

Return Value

void

mixed get(string|array $key)

Retrieve an item from the cache by key.

Parameters

string|array $key

Return Value

mixed

bool put(string $key, mixed $value, int $seconds)

Store an item in the cache for a given number of seconds.

Parameters

string $key
mixed $value
int $seconds

Return Value

bool

bool add(string $key, mixed $value, int $seconds)

Store an item in the cache if the key doesn't exist.

Parameters

string $key
mixed $value
int $seconds

Return Value

bool

int|bool increment(string $key, mixed $value = 1)

Increment the value of an item in the cache.

Parameters

string $key
mixed $value

Return Value

int|bool

int|bool decrement(string $key, mixed $value = 1)

Decrement the value of an item in the cache.

Parameters

string $key
mixed $value

Return Value

int|bool

protected int|bool incrementOrDecrement(string $key, mixed $value, Closure $callback)

Increment or decrement an item in the cache.

Parameters

string $key
mixed $value
Closure $callback

Return Value

int|bool

protected int getTime()

Get the current system time.

Return Value

int

bool forever(string $key, mixed $value)

Store an item in the cache indefinitely.

Parameters

string $key
mixed $value

Return Value

bool

Lock lock(string $name, int $seconds = 0, string|null $owner = null)

Get a lock instance.

Parameters

string $name
int $seconds
string|null $owner

Return Value

Lock

Lock restoreLock(string $name, string $owner)

Restore a lock instance using the owner identifier.

Parameters

string $name
string $owner

Return Value

Lock

bool forget(string $key)

Remove an item from the cache.

Parameters

string $key

Return Value

bool

bool flush()

Remove all items from the cache.

Return Value

bool

protected Builder table()

Get a query builder for the cache table.

Return Value

Builder

ConnectionInterface getConnection()

Get the underlying database connection.

Return Value

ConnectionInterface

string getPrefix()

Get the cache key prefix.

Return Value

string

protected string serialize(mixed $value)

Serialize the given value.

Parameters

mixed $value

Return Value

string

protected mixed unserialize(string $value)

Unserialize the given value.

Parameters

string $value

Return Value

mixed

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