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 and Traits
- 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
- $defaultLifetime : 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<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
mixed
$adapterCount
$adapters
private
mixed
$adapters
= []
$defaultLifetime
private
mixed
$defaultLifetime
$syncItem
private
static 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|null $beta = null ][, array<string|int, mixed>|null &$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 = 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
mixed —getItem()
Returns a Cache Item representing the specified key.
public
getItem(mixed $key) : CacheItem
Parameters
- $key : mixed
Return values
CacheItem —getItems()
Returns a traversable set of cache items.
public
getItems([array<string|int, mixed> $keys = [] ]) : Traversable<string, CacheItem>
Parameters
- $keys : array<string|int, mixed> = []
Return values
Traversable<string, 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) : Generator
Parameters
- $items : iteratable<string|int, mixed>
- $adapterIndex : int