StorageStore
class StorageStore implements Store
Traits
Fallback implementations for stores without native multi-key operations.
Constants
| protected PERMANENT_TIMESTAMP |
The expiration timestamp stored for items cached forever. |
Properties
| protected Filesystem | $disk | The filesystem disk instance. |
|
| protected string | $directory | The storage path where cache files should be written. |
|
| protected string | $prefix | A string that should be prepended to keys. |
|
| protected array|bool|null | $serializableClasses | The classes that should be allowed during unserialization. |
|
| protected SerializableClassPolicy|null | $serializableClassPolicy | The shared serializable class policy. |
Methods
Get the number of seconds until the given DateTime.
Get the "available at" UNIX timestamp.
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 storage 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.
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.
Adjust the expiration time of a cached item.
Remove an item from the cache.
Remove all items from the cache.
Store an item with an absolute expiration timestamp.
Retrieve an item and expiry time from the cache by key.
Unserialize the given value.
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 fixed-width expiration header for a cache item.
Get the filesystem disk instance.
Get the working directory of the cache.
Get the cache key prefix.
Set the cache key prefix.
Details
in
InteractsWithTime at line 17
protected int
secondsUntil(DateInterval|DateTimeInterface|int $delay)
Get the number of seconds until the given DateTime.
in
InteractsWithTime at line 29
protected int
availableAt(DateInterval|DateTimeInterface|int|null $delay = 0)
Get the "available at" UNIX timestamp.
in
InteractsWithTime at line 47
protected DateTimeInterface|int
parseDateInterval(DateInterval|DateTimeInterface|int|null $delay)
If the given value is an interval, convert it to a DateTime instance.
in
InteractsWithTime at line 63
protected int
currentTime()
Get the current system time as a UNIX timestamp.
in
InteractsWithTime at line 71
protected string
runTimeForHumans(float $startTime, float|null $endTime = null)
Given a start time, format the total run time for human readability.
in
RetrievesMultipleKeys at line 23
array
many(array $keys)
Retrieve multiple items from the cache by key.
Items not found in the cache will have a null value.
in
RetrievesMultipleKeys at line 42
bool
putMany(array $values, int $seconds)
Store multiple items in the cache for a given number of seconds.
at line 51
__construct(Filesystem $disk, string $directory = '', string $prefix = '', array|bool|null $serializableClasses = null, SerializableClassPolicy|null $serializableClassPolicy = null)
Create a new storage cache store instance.
at line 68
mixed
get(string $key)
Retrieve an item from the cache by key.
at line 76
bool
put(string $key, mixed $value, int $seconds)
Store an item in the cache for a given number of seconds.
at line 84
bool
add(string $key, mixed $value, int $seconds)
Store an item in the cache if the key doesn't exist.
at line 96
bool|int
increment(string $key, int $value = 1)
Increment the value of an item in the cache.
at line 115
bool|int
decrement(string $key, int $value = 1)
Decrement the value of an item in the cache.
at line 123
bool
forever(string $key, mixed $value)
Store an item in the cache indefinitely.
at line 131
bool
touch(string $key, int $seconds)
Adjust the expiration time of a cached item.
at line 145
bool
forget(string $key)
Remove an item from the cache.
at line 159
bool
flush()
Remove all items from the cache.
at line 174
protected bool
putWithExpiresAt(string $key, mixed $value, int $expiresAt)
Store an item with an absolute expiration timestamp.
at line 187
protected array
getPayload(string $key)
Retrieve an item and expiry time from the cache by key.
at line 229
protected mixed
unserialize(string $value)
Unserialize the given value.
at line 247
protected array
emptyPayload()
Get a default empty payload for the cache.
at line 255
string
path(string $key)
Get the full path for the given cache key.
at line 265
protected int
expiration(int $seconds)
Get the expiration time based on the given seconds.
at line 275
protected string
expiresAtHeader(int $expiresAt)
Get the fixed-width expiration header for a cache item.
at line 283
Filesystem
getDisk()
Get the filesystem disk instance.
at line 291
string
getDirectory()
Get the working directory of the cache.
at line 299
string
getPrefix()
Get the cache key prefix.
at line 310
void
setPrefix(string $prefix)
Set the cache key prefix.
Boot-only. Persists on the cached store for the worker lifetime; per-request use races across coroutines.