Documentation

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
author

Kévin Dunglas dunglas@gmail.com

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

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

reset()

{@inheritdoc}

public reset() : mixed
Return values
mixed

generateItems()

private generateItems(iteratable<string|int, mixed> $items, int $adapterIndex) : Generator
Parameters
$items : iteratable<string|int, mixed>
$adapterIndex : int
Return values
Generator

Search results