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
Interfaces, Classes, Traits and Enums
- 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.
Table of Contents
- $adapterCount : mixed
- $adapters : mixed
- $syncItem : mixed
- __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() : CacheItem
- Returns a Cache Item representing the specified key.
- getItems() : Traversable|array<string|int, CacheItem>
- Returns a traversable set of cache items.
- hasItem() : bool
- {@inheritdoc}
- prune() : bool
- reset() : mixed
- {@inheritdoc}
- save() : bool
- {@inheritdoc}
- saveDeferred() : bool
- {@inheritdoc}
- generateItems() : mixed
Properties
$adapterCount
private
mixed
$adapterCount
$adapters
private
mixed
$adapters
= []
$syncItem
private
mixed
$syncItem
Methods
__construct()
public
__construct(array<string|int, CacheItemPoolInterface> $adapters, int $defaultLifetime) : mixed
Parameters
- $adapters : array<string|int, CacheItemPoolInterface>
-
The ordered list of adapters used to fetch cached items
- $defaultLifetime : int
-
The default lifetime of items propagated from lower adapters to upper ones
Return values
mixed —clear()
Deletes all items in the pool.
public
clear([string $prefix = '' ]) : bool
Parameters
- $prefix : string = ''
Return values
bool —commit()
{@inheritdoc}
public
commit() : bool
Return values
bool —deleteItem()
{@inheritdoc}
public
deleteItem(mixed $key) : bool
Parameters
- $key : mixed
Return values
bool —deleteItems()
{@inheritdoc}
public
deleteItems(array<string|int, mixed> $keys) : bool
Parameters
- $keys : array<string|int, mixed>
Return values
bool —get()
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()
Return values
mixed —The value corresponding to the provided key
getItem()
Returns a Cache Item representing the specified key.
public
getItem(mixed $key) : CacheItem
Parameters
- $key : mixed
-
The key for which to return the corresponding Cache Item.
Return values
CacheItem —getItems()
Returns a traversable set of cache items.
public
getItems([array<string|int, mixed> $keys = [] ]) : Traversable|array<string|int, CacheItem>
Parameters
- $keys : array<string|int, mixed> = []
-
An indexed array of keys of items to retrieve.
Return values
Traversable|array<string|int, CacheItem> —hasItem()
{@inheritdoc}
public
hasItem(mixed $key) : bool
Parameters
- $key : mixed
Return values
bool —prune()
public
prune() : bool
Return values
bool —reset()
{@inheritdoc}
public
reset() : mixed
Return values
mixed —save()
{@inheritdoc}
public
save(CacheItemInterface $item) : bool
Parameters
- $item : CacheItemInterface
Return values
bool —saveDeferred()
{@inheritdoc}
public
saveDeferred(CacheItemInterface $item) : bool
Parameters
- $item : CacheItemInterface
Return values
bool —generateItems()
private
generateItems(iteratable<string|int, mixed> $items, int $adapterIndex) : mixed
Parameters
- $items : iteratable<string|int, mixed>
- $adapterIndex : int