FileAccess Orion

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, 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

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 —

reset()

{@inheritdoc}

public reset() : mixed
Return values
mixed —

generateItems()

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

Search results