TraceableAdapter
in package
implements
AdapterInterface, CacheInterface, PruneableInterface, ResettableInterface
An adapter that collects data about all cache calls.
Tags
Table of Contents
Interfaces
- AdapterInterface
- Interface for adapters managing instances of Symfony's CacheItem.
- CacheInterface
- Covers most simple to advanced caching needs.
- PruneableInterface
- Interface extends psr-6 and psr-16 caches to allow for pruning (deletion) of all expired cache items.
- ResettableInterface
- Resets a pool's local state.
Properties
Methods
- __construct() : mixed
- clear() : bool
- Deletes all items in the pool.
- clearCalls() : void
- commit() : bool
- Persists any deferred cache items.
- delete() : bool
- Removes an item from the pool.
- deleteItem() : bool
- Removes the item from the pool.
- deleteItems() : bool
- Removes multiple items from the pool.
- get() : T
- Fetches a value from the pool or computes it if not found.
- getCalls() : array<string|int, mixed>
- getItem() : CacheItemInterface
- Returns a Cache Item representing the specified key.
- getItems() : iterable<string, CacheItem>
- Returns a traversable set of cache items.
- getPool() : AdapterInterface
- hasItem() : bool
- Confirms if the cache contains specified cache item.
- prune() : bool
- reset() : void
- save() : bool
- Persists a cache item immediately.
- saveDeferred() : bool
- Sets a cache item to be persisted later.
- start() : TraceableAdapterEvent
Properties
$pool
protected
mixed
$pool
$calls
private
array<string|int, mixed>
$calls
= []
Methods
__construct()
public
__construct(AdapterInterface $pool) : mixed
Parameters
- $pool : AdapterInterface
clear()
Deletes all items in the pool.
public
clear([string $prefix = '' ]) : bool
Parameters
- $prefix : string = ''
Return values
bool —True if the pool was successfully cleared. False if there was an error.
clearCalls()
public
clearCalls() : void
commit()
Persists any deferred cache items.
public
commit() : bool
Return values
bool —True if all not-yet-saved items were successfully saved or there were none. False otherwise.
delete()
Removes an item from the pool.
public
delete(string $key) : bool
Parameters
- $key : string
-
The key to delete
Return values
bool —True if the item was successfully removed, false if there was any error
deleteItem()
Removes the item from the pool.
public
deleteItem(mixed $key) : bool
Parameters
- $key : mixed
-
The key to delete.
Return values
bool —True if the item was successfully removed. False if there was an error.
deleteItems()
Removes multiple items from the pool.
public
deleteItems(array<string|int, mixed> $keys) : bool
Parameters
- $keys : array<string|int, mixed>
-
An array of keys that should be removed from the pool.
Return values
bool —True if the items were successfully removed. False if there was an error.
get()
Fetches a value from the pool or computes it if not found.
public
get(string $key, callable $callback[, float|null $beta = null ][, array<string|int, mixed>|null &$metadata = null ]) : T
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
- $key : string
-
The key of the item to retrieve from the cache
- $callback : callable
- $beta : float|null = null
-
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
- $metadata : array<string|int, mixed>|null = null
-
The metadata of the cached item ItemInterface::getMetadata()
Return values
TgetCalls()
public
getCalls() : array<string|int, mixed>
Return values
array<string|int, mixed>getItem()
Returns a Cache Item representing the specified key.
public
getItem(mixed $key) : CacheItemInterface
This method must always return a CacheItemInterface object, even in case of a cache miss. It MUST NOT return null.
Parameters
- $key : mixed
-
The key for which to return the corresponding Cache Item.
Return values
CacheItemInterface —The corresponding Cache Item.
getItems()
Returns a traversable set of cache items.
public
getItems([array<string|int, mixed> $keys = [] ]) : iterable<string, CacheItem>
Parameters
- $keys : array<string|int, mixed> = []
-
An indexed array of keys of items to retrieve.
Return values
iterable<string, CacheItem>getPool()
public
getPool() : AdapterInterface
Return values
AdapterInterfacehasItem()
Confirms if the cache contains specified cache item.
public
hasItem(mixed $key) : bool
Note: This method MAY avoid retrieving the cached value for performance reasons. This could result in a race condition with CacheItemInterface::get(). To avoid such situation use CacheItemInterface::isHit() instead.
Parameters
- $key : mixed
-
The key for which to check existence.
Return values
bool —True if item exists in the cache, false otherwise.
prune()
public
prune() : bool
Return values
boolreset()
public
reset() : void
save()
Persists a cache item immediately.
public
save(CacheItemInterface $item) : bool
Parameters
- $item : CacheItemInterface
-
The cache item to save.
Return values
bool —True if the item was successfully persisted. False if there was an error.
saveDeferred()
Sets a cache item to be persisted later.
public
saveDeferred(CacheItemInterface $item) : bool
Parameters
- $item : CacheItemInterface
-
The cache item to save.
Return values
bool —False if the item could not be queued or if a commit was attempted and failed. True otherwise.
start()
protected
start(string $name) : TraceableAdapterEvent
Parameters
- $name : string