ChainAdapter
in package
implements
AdapterInterface, CacheInterface, PruneableInterface, ResettableInterface
Uses
ContractsTrait
Chains several adapters together.
Cached items are fetched from the first adapter having them in its data store. They are saved and deleted in all adapters at once.
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
- $adapterCount : int
- $adapters : array<string|int, mixed>
- $defaultLifetime : int
- $syncItem : Closure
Methods
- __construct() : mixed
- clear() : bool
- Deletes all items in the pool.
- commit() : bool
- {@inheritdoc}
- deleteItem() : bool
- {@inheritdoc}
- deleteItems() : bool
- {@inheritdoc}
- get() : mixed
- Fetches a value from the pool or computes it if not found.
- getItem() : CacheItemInterface
- Returns a Cache Item representing the specified key.
- getItems() : iterable<string, CacheItem>
- Returns a traversable set of cache items.
- hasItem() : bool
- {@inheritdoc}
- prune() : bool
- reset() : mixed
- {@inheritdoc}
- save() : bool
- {@inheritdoc}
- saveDeferred() : bool
- {@inheritdoc}
- generateItems() : Generator
Properties
$adapterCount
private
int
$adapterCount
$adapters
private
array<string|int, mixed>
$adapters
= []
$defaultLifetime
private
int
$defaultLifetime
$syncItem
private
static Closure
$syncItem
Methods
__construct()
public
__construct(array<string|int, CacheItemPoolInterface> $adapters[, int $defaultLifetime = 0 ]) : mixed
Parameters
- $adapters : array<string|int, CacheItemPoolInterface>
-
The ordered list of adapters used to fetch cached items
- $defaultLifetime : int = 0
-
The default lifetime of items propagated from lower adapters to upper ones
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.
commit()
{@inheritdoc}
public
commit() : bool
Return values
booldeleteItem()
{@inheritdoc}
public
deleteItem(mixed $key) : bool
Parameters
- $key : mixed
Return values
booldeleteItems()
{@inheritdoc}
public
deleteItems(array<string|int, mixed> $keys) : bool
Parameters
- $keys : array<string|int, mixed>
Return values
boolget()
Fetches a value from the pool or computes it if not found.
public
get(string $key, callable $callback[, float $beta = null ][, array<string|int, mixed> &$metadata = null ]) : mixed
Parameters
- $key : string
-
The key of the item to retrieve from the cache
- $callback : callable
-
Should return the computed value for the given key/item
- $beta : float = 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
-
The metadata of the cached item ItemInterface::getMetadata()
getItem()
Returns a Cache Item representing the specified key.
public
getItem(mixed $key) : CacheItemInterface
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>hasItem()
{@inheritdoc}
public
hasItem(mixed $key) : bool
Parameters
- $key : mixed
Return values
boolprune()
public
prune() : bool
Return values
boolreset()
{@inheritdoc}
public
reset() : mixed
save()
{@inheritdoc}
public
save(CacheItemInterface $item) : bool
Parameters
- $item : CacheItemInterface
Return values
boolsaveDeferred()
{@inheritdoc}
public
saveDeferred(CacheItemInterface $item) : bool
Parameters
- $item : CacheItemInterface
Return values
boolgenerateItems()
private
generateItems(iterable<string|int, mixed> $items, int $adapterIndex) : Generator
Parameters
- $items : iterable<string|int, mixed>
- $adapterIndex : int