TransientBackendInterface extends BackendInterface
A contract for a cache backends which store variables in volatile memory and as such support receiving any variable type to store.
Note: respect for this contract is up to each individual frontend. The contract can be respected for a small performance boost, but the result is marginal except for cases with huge serialized data sets.
Respected by the VariableFrontend which checks if the backend has this interface, in which case it allows the backend to store the value directly without serializing it to a string, and does not attempt to unserialize the string on every get() request.
Table of Contents
Methods
- collectGarbage() : mixed
- Does garbage collection
- flush() : mixed
- Removes all cache entries of this cache.
- get() : mixed
- Loads data from the cache.
- has() : bool
- Checks if a cache entry with the specified identifier exists.
- remove() : bool
- Removes all cache entries matching the specified identifier.
- set() : mixed
- Saves data in the cache.
- setCache() : mixed
- Sets a reference to the cache frontend which uses this backend
Methods
collectGarbage()
Does garbage collection
public
collectGarbage() : mixed
flush()
Removes all cache entries of this cache.
public
flush() : mixed
get()
Loads data from the cache.
public
get(string $entryIdentifier) : mixed
Parameters
- $entryIdentifier : string
-
An identifier which describes the cache entry to load
Return values
mixed —The cache entry's content as a string or FALSE if the cache entry could not be loaded
has()
Checks if a cache entry with the specified identifier exists.
public
has(string $entryIdentifier) : bool
Parameters
- $entryIdentifier : string
-
An identifier specifying the cache entry
Return values
bool —TRUE if such an entry exists, FALSE if not
remove()
Removes all cache entries matching the specified identifier.
public
remove(string $entryIdentifier) : bool
Usually this only affects one entry but if - for what reason ever - old entries for the identifier still exist, they are removed as well.
Parameters
- $entryIdentifier : string
-
Specifies the cache entry to remove
Return values
bool —TRUE if (at least) an entry could be removed or FALSE if no entry was found
set()
Saves data in the cache.
public
set(string $entryIdentifier, string $data[, array<string|int, mixed> $tags = [] ][, int $lifetime = null ]) : mixed
Parameters
- $entryIdentifier : string
-
An identifier for this specific cache entry
- $data : string
-
The data to be stored
- $tags : array<string|int, mixed> = []
-
Tags to associate with this cache entry. If the backend does not support tags, this option can be ignored.
- $lifetime : int = null
-
Lifetime of this cache entry in seconds. If NULL is specified, the default lifetime is used. "0" means unlimited lifetime.
Tags
setCache()
Sets a reference to the cache frontend which uses this backend
public
setCache(FrontendInterface $cache) : mixed
Parameters
- $cache : FrontendInterface
-
The frontend for this backend