FileStore
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
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.
Store multiple items in the cache for a given number of seconds.
Create a new file cache store instance.
Retrieve an item from the cache by key.
Store an item in the cache for a given number of seconds.
Store an item in the cache if the key doesn't exist.
Create the file cache directory if necessary.
Ensure the created node has the correct permissions.
Increment the value of an item in the cache.
Decrement the value of an item in the cache.
Store an item in the cache indefinitely.
Restore a lock instance using the owner identifier.
Remove an item from the cache.
Remove all items from the cache.
Retrieve an item and expiry time from the cache by key.
Get a default empty payload for the cache.
Get the full path for the given cache key.
Get the expiration time based on the given seconds.
Get the Filesystem instance.
Get the working directory of the cache.
Set the working directory of the cache.
Set the cache directory where locks should be stored.
Get the cache key prefix.
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.
array
many(array $keys)
Retrieve multiple items from the cache by key.
Items not found in the cache will have a null value.
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 $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.
protected void
ensureCacheDirectoryExists(string $path)
Create the file cache directory if necessary.
protected 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
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.
protected array
getPayload(string $key)
Retrieve an item and expiry time from the cache by key.
protected array
emptyPayload()
Get a default empty payload for the cache.
string
path(string $key)
Get the full path for the given cache key.
protected int
expiration(int $seconds)
Get the expiration time based on the given seconds.
Filesystem
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.