Class SimpleCacheEngine

Wrapper for Cake engines that allow them to support the PSR16 Simple Cache Interface

Namespace: Cake\Cache

Properties summary

  • $innerEngine protected
    \Cake\Cache\CacheEngine

    The wrapped cache engine object.

Method Summary

  • __construct() public

    Constructor

  • add() public

    Write data for key into a cache engine if it doesn't exist already.

  • clear() public

    Wipes clean the entire cache's keys.

  • clearGroup() public

    Clear all values belonging to the named group.

  • decrement() public

    Decrement a number under the key and return decremented value

  • delete() public

    Delete an item from the cache by its unique key.

  • deleteMultiple() public

    Deletes multiple cache items in a single operation.

  • ensureValidKey() protected

    Ensure the validity of the given cache key.

  • ensureValidKeys() protected

    Ensure the validity of the given cache keys.

  • get() public

    Fetches the value for a given key from the cache.

  • getMultiple() public

    Obtains multiple cache items by their unique keys.

  • has() public

    Determines whether an item is present in the cache.

  • increment() public

    Increment a number under the key and return incremented value

  • set() public

    Persists data in the cache, uniquely referenced by the given key with an optional expiration TTL time.

  • setMultiple() public

    Persists a set of key => value pairs in the cache, with an optional TTL.

Method Detail

__construct() public

__construct(\Cake\Cache\CacheEngine $innerEngine)

Constructor

Parameters

\Cake\Cache\CacheEngine $innerEngine

The decorated engine.

add() public

add(mixed $key, mixed $value)

Write data for key into a cache engine if it doesn't exist already.

Parameters

string $key

Identifier for the data.

mixed $value

Data to be cached - anything except a resource.

Returns

bool

True if the data was successfully cached, false on failure. Or if the key existed already.

clear() public

clear()

Wipes clean the entire cache's keys.

Returns

bool

True on success and false on failure.

clearGroup() public

clearGroup(mixed $group)

Clear all values belonging to the named group.

Each implementation needs to decide whether actually delete the keys or just augment a group generation value to achieve the same result.

Parameters

string $group

name of the group to be cleared

Returns

bool

decrement() public

decrement(mixed $key, mixed $offset)

Decrement a number under the key and return decremented value

Parameters

string $key

Identifier for the data

int $offset optional

How much to subtract

Returns

int|false

New incremented value, false otherwise

delete() public

delete(mixed $key)

Delete an item from the cache by its unique key.

Parameters

string $key

The unique cache key of the item to delete.

Returns

bool

True if the item was successfully removed. False if there was an error.

Throws

Cake\Cache\InvalidArgumentException
If the $key string is not a legal value.

deleteMultiple() public

deleteMultiple(mixed $keys)

Deletes multiple cache items in a single operation.

Parameters

iterable $keys

A list of string-based keys to be deleted.

Returns

bool

True if the items were successfully removed. False if there was an error.

Throws

Cake\Cache\InvalidArgumentException
If $keys is neither an array nor a Traversable, or if any of the $keys are not a legal value.

ensureValidKey() protected

ensureValidKey(mixed $key)

Ensure the validity of the given cache key.

Parameters

string $key

Key to check.

Throws

Cake\Cache\InvalidArgumentException
When the key is not valid.

ensureValidKeys() protected

ensureValidKeys(mixed $keys)

Ensure the validity of the given cache keys.

Parameters

mixed $keys

The keys to check.

Throws

Cake\Cache\InvalidArgumentException
When the keys are not valid.

get() public

get(mixed $key, mixed $default)

Fetches the value for a given key from the cache.

Parameters

string $key

The unique key of this item in the cache.

mixed $default optional

Default value to return if the key does not exist.

Returns

mixed

The value of the item from the cache, or $default in case of cache miss.

Throws

Cake\Cache\InvalidArgumentException
If the $key string is not a legal value.

getMultiple() public

getMultiple(mixed $keys, mixed $default)

Obtains multiple cache items by their unique keys.

Parameters

iterable $keys

A list of keys that can obtained in a single operation.

mixed $default optional

Default value to return for keys that do not exist.

Returns

iterable

A list of key => value pairs. Cache keys that do not exist or are stale will have $default as value.

Throws

Cake\Cache\InvalidArgumentException
If $keys is neither an array nor a Traversable, or if any of the $keys are not a legal value.

has() public

has(mixed $key)

Determines whether an item is present in the cache.

NOTE: It is recommended that has() is only to be used for cache warming type purposes and not to be used within your live applications operations for get/set, as this method is subject to a race condition where your has() will return true and immediately after, another script can remove it making the state of your app out of date.

Parameters

string $key

The cache item key.

Returns

bool

Throws

Cake\Cache\InvalidArgumentException
If the $key string is not a legal value.

increment() public

increment(mixed $key, mixed $offset)

Increment a number under the key and return incremented value

Parameters

string $key

Identifier for the data

int $offset optional

How much to add

Returns

int|false

New incremented value, false otherwise

set() public

set(mixed $key, mixed $value, mixed $ttl)

Persists data in the cache, uniquely referenced by the given key with an optional expiration TTL time.

Parameters

string $key

The key of the item to store.

mixed $value

The value of the item to store, must be serializable.

\DateInterval|int|null $ttl optional

Optional. The TTL value of this item. If no value is sent and the driver supports TTL then the library may set a default value for it or let the driver take care of that.

Returns

bool

True on success and false on failure.

Throws

Cake\Cache\InvalidArgumentException
MUST be thrown if the $key string is not a legal value.

setMultiple() public

setMultiple(mixed $values, mixed $ttl)

Persists a set of key => value pairs in the cache, with an optional TTL.

Parameters

iterable $values

A list of key => value pairs for a multiple-set operation.

\DateInterval|int|null $ttl optional

Optional. The TTL value of this item. If no value is sent and the driver supports TTL then the library may set a default value for it or let the driver take care of that.

Returns

bool

True on success and false on failure.

Throws

Cake\Cache\InvalidArgumentException
If $values is neither an array nor a Traversable, or if any of the $values are not a legal value.

Property Detail

$innerEngine protected

The wrapped cache engine object.

Type

\Cake\Cache\CacheEngine

© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/3.9/class-Cake.Cache.SimpleCacheEngine.html