interface CacheInterface

Covers most simple to advanced caching needs.

Methods

mixed
get(string $key, callable $callback, float $beta = null, array $metadata = null)

Fetches a value from the pool or computes it if not found.

bool
delete(string $key)

Removes an item from the pool.

Details

mixed get(string $key, callable $callback, float $beta = null, array $metadata = null)

Fetches a value from the pool or computes it if not found.

On cache misses, a callback is called that should return the missing value. This callback is given a PSR-6 CacheItemInterface instance corresponding to the requested key, that could be used e.g. for expiration control. It could also be an ItemInterface instance when its additional features are needed.

Parameters

string $key The key of the item to retrieve from the cache
callable $callback Should return the computed value for the given key/item
float $beta A float that, as it grows, controls the likeliness of triggering early expiration. 0 disables it, INF forces immediate expiration. The default (or providing null) is implementation dependent but should typically be 1.0, which should provide optimal stampede protection. See https://en.wikipedia.org/wiki/Cache_stampede#Probabilistic_early_expiration
array $metadata &$metadata The metadata of the cached item {see ItemInterface::getMetadata()}

Return Value

mixed The value corresponding to the provided key

Exceptions

InvalidArgumentException When $key is not valid or when $beta is negative

bool delete(string $key)

Removes an item from the pool.

Parameters

string $key The key to delete

Return Value

bool True if the item was successfully removed, false if there was any error

Exceptions

InvalidArgumentException When $key is not valid