PredisHandler
extends BaseHandler
in package
Predis cache handler
Tags
Table of Contents
Constants
- MAX_KEY_LENGTH = PHP_INT_MAX
- Maximum key length.
- RESERVED_CHARACTERS = '{}()/\@:'
- Reserved characters that cannot be used in a key or tag. May be overridden by the config.
Properties
- $config : array{scheme: string, host: string, password: string|null, port: int, async: bool, persistent: bool, timeout: int}
- Default config
- $prefix : string
- Prefix to apply to cache keys.
- $redis : Client
- Predis connection
Methods
- __construct() : mixed
- Note: Use `CacheFactory::getHandler()` to instantiate.
- clean() : bool
- Will delete all items in the entire cache.
- decrement() : int
- Performs atomic decrementation of a raw stored value.
- delete() : bool
- Deletes a specific item from the cache store.
- deleteMatching() : int
- Deletes items from the cache store matching a given pattern.
- get() : mixed
- Attempts to fetch an item from the cache store.
- getCacheInfo() : array<string|int, mixed>|false|object|null
- Returns information on the entire cache.
- getMetaData() : array<string, mixed>|null
- Returns detailed information about the specific item in the cache.
- increment() : int
- Performs atomic incrementation of a raw stored value.
- initialize() : void
- Takes care of any handler-specific setup that must be done.
- isSupported() : bool
- Determines if the driver is supported on this system.
- ping() : bool
- Check if connection is alive.
- reconnect() : bool
- Reconnect to the cache server.
- remember() : mixed
- Attempts to get an item from the cache, or executes the callback and stores the result on cache miss.
- save() : bool
- Saves an item to the cache store.
- validateKey() : string
- Validates a cache key according to PSR-6.
Constants
MAX_KEY_LENGTH
Maximum key length.
public
mixed
MAX_KEY_LENGTH
= PHP_INT_MAX
RESERVED_CHARACTERS
Reserved characters that cannot be used in a key or tag. May be overridden by the config.
in favor of the Cache config
public
mixed
RESERVED_CHARACTERS
= '{}()/\@:'
From https://github.com/symfony/cache-contracts/blob/c0446463729b89dd4fa62e9aeecc80287323615d/ItemInterface.php#L43
Properties
$config
Default config
protected
array{scheme: string, host: string, password: string|null, port: int, async: bool, persistent: bool, timeout: int}
$config
= ['scheme' => 'tcp', 'host' => '127.0.0.1', 'password' => null, 'port' => 6379, 'async' => false, 'persistent' => false, 'timeout' => 0]
$prefix
Prefix to apply to cache keys.
protected
string
$prefix
May not be used by all handlers.
$redis
Predis connection
protected
Client
$redis
Methods
__construct()
Note: Use `CacheFactory::getHandler()` to instantiate.
public
__construct(Cache $config) : mixed
Parameters
- $config : Cache
clean()
Will delete all items in the entire cache.
public
clean() : bool
Return values
bool —Success or failure
decrement()
Performs atomic decrementation of a raw stored value.
public
decrement(string $key[, int $offset = 1 ]) : int
Parameters
- $key : string
-
Cache ID
- $offset : int = 1
-
Step/value to increase by
Return values
intdelete()
Deletes a specific item from the cache store.
public
delete(string $key) : bool
Parameters
- $key : string
-
Cache item name
Return values
bool —Success or failure
deleteMatching()
Deletes items from the cache store matching a given pattern.
public
deleteMatching(string $pattern) : int
Parameters
- $pattern : string
-
Cache items glob-style pattern
Return values
int —Number of deleted items
get()
Attempts to fetch an item from the cache store.
public
get(string $key) : mixed
Parameters
- $key : string
-
Cache item name
getCacheInfo()
Returns information on the entire cache.
public
getCacheInfo() : array<string|int, mixed>|false|object|null
The information returned and the structure of the data varies depending on the handler.
Return values
array<string|int, mixed>|false|object|nullgetMetaData()
Returns detailed information about the specific item in the cache.
public
getMetaData(string $key) : array<string, mixed>|null
Parameters
- $key : string
-
Cache item name.
Return values
array<string, mixed>|null —Returns null if the item does not exist, otherwise array<string, mixed> with at least the 'expire' key for absolute epoch expiry (or null).
increment()
Performs atomic incrementation of a raw stored value.
public
increment(string $key[, int $offset = 1 ]) : int
Parameters
- $key : string
-
Cache ID
- $offset : int = 1
-
Step/value to increase by
Return values
intinitialize()
Takes care of any handler-specific setup that must be done.
public
initialize() : void
isSupported()
Determines if the driver is supported on this system.
public
isSupported() : bool
Return values
boolping()
Check if connection is alive.
public
ping() : bool
Default implementation for handlers that don't require connection management. Handlers with persistent connections (Redis, Predis, Memcached) should override this.
Return values
boolreconnect()
Reconnect to the cache server.
public
reconnect() : bool
Default implementation for handlers that don't require connection management. Handlers with persistent connections (Redis, Predis, Memcached) should override this.
Return values
boolremember()
Attempts to get an item from the cache, or executes the callback and stores the result on cache miss.
public
remember(string $key, int $ttl, Closure $callback) : mixed
Parameters
- $key : string
-
Cache item name
- $ttl : int
-
Time To Live, in seconds
- $callback : Closure
-
Callback executed on cache miss
save()
Saves an item to the cache store.
public
save(string $key, mixed $value[, int $ttl = 60 ]) : bool
Parameters
- $key : string
-
Cache item name
- $value : mixed
-
The data to save
- $ttl : int = 60
-
Time To Live, in seconds (default 60)
Return values
bool —Success or failure
validateKey()
Validates a cache key according to PSR-6.
public
static validateKey(mixed $key[, string $prefix = '' ]) : string
Keys that exceed MAX_KEY_LENGTH are hashed. From https://github.com/symfony/cache/blob/7b024c6726af21fd4984ac8d1eae2b9f3d90de88/CacheItem.php#L158
Parameters
- $key : mixed
-
The key to validate
- $prefix : string = ''
-
Optional prefix to include in length calculations