class FileStore implements Store, LockProvider (View source)

Traits

Properties

protected Filesystem $files

The Illuminate Filesystem instance.

protected string $directory

The file cache directory.

protected string|null $lockDirectory

The file cache lock directory.

protected int|null $filePermission

Octal representation of the cache file permissions.

Methods

int
secondsUntil(DateTimeInterface|DateInterval|int $delay)

Get the number of seconds until the given DateTime.

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

Get the "available at" UNIX timestamp.

parseDateInterval(DateTimeInterface|DateInterval|int $delay)

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

int
currentTime()

Get the current system time as a UNIX timestamp.

string
runTimeForHumans(float $startTime, float $endTime = null)

Given a start time, format the total run time for human readability.

array
many(array $keys)

Retrieve multiple items from the cache by key.

bool
putMany(array $values, int $seconds)

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

void
__construct(Filesystem $files, string $directory, int|null $filePermission = null)

Create a new file cache store instance.

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.

void
ensureCacheDirectoryExists(string $path)

Create the file cache directory if necessary.

void
ensurePermissionsAreCorrect(string $path)

Ensure the created node has the correct permissions.

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.

bool
forever(string $key, mixed $value)

Store an item in the cache indefinitely.

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

Get a lock instance.

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.

array
getPayload(string $key)

Retrieve an item and expiry time from the cache by key.

array
emptyPayload()

Get a default empty payload for the cache.

string
path(string $key)

Get the full path for the given cache key.

int
expiration(int $seconds)

Get the expiration time based on the given seconds.

getFilesystem()

Get the Filesystem instance.

string
getDirectory()

Get the working directory of the cache.

$this
setDirectory(string $directory)

Set the working directory of the cache.

$this
setLockDirectory(string|null $lockDirectory)

Set the cache directory where locks should be stored.

string
getPrefix()

Get the cache key prefix.

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

protected string runTimeForHumans(float $startTime, float $endTime = null)

Given a start time, format the total run time for human readability.

Parameters

float $startTime
float $endTime

Return Value

string

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(Filesystem $files, string $directory, int|null $filePermission = null)

Create a new file cache store instance.

Parameters

Filesystem $files
string $directory
int|null $filePermission

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

protected void ensureCacheDirectoryExists(string $path)

Create the file cache directory if necessary.

Parameters

string $path

Return Value

void

protected void ensurePermissionsAreCorrect(string $path)

Ensure the created node has the correct permissions.

Parameters

string $path

Return Value

void

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

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 array getPayload(string $key)

Retrieve an item and expiry time from the cache by key.

Parameters

string $key

Return Value

array

protected array emptyPayload()

Get a default empty payload for the cache.

Return Value

array

string path(string $key)

Get the full path for the given cache key.

Parameters

string $key

Return Value

string

protected int expiration(int $seconds)

Get the expiration time based on the given seconds.

Parameters

int $seconds

Return Value

int

Filesystem getFilesystem()

Get the Filesystem instance.

Return Value

Filesystem

string getDirectory()

Get the working directory of the cache.

Return Value

string

$this setDirectory(string $directory)

Set the working directory of the cache.

Parameters

string $directory

Return Value

$this

$this setLockDirectory(string|null $lockDirectory)

Set the cache directory where locks should be stored.

Parameters

string|null $lockDirectory

Return Value

$this

string getPrefix()

Get the cache key prefix.

Return Value

string