CRM_Utils_Cache_Redis
in package
implements
CRM_Utils_Cache_Interface
uses
CRM_Utils_Cache_NaiveMultipleTrait, CRM_Utils_Cache_NaiveHasTrait
Tags
Table of Contents
Interfaces
Constants
- DEFAULT_HOST = 'localhost'
- DEFAULT_PORT = 6379
- DEFAULT_PREFIX = ''
- DEFAULT_TIMEOUT = 3600
Properties
- $_cache : Redis
- The actual redis object
- $_prefix : string
- The prefix prepended to cache keys.
- $_timeout : int
- The default timeout to use
Methods
- __construct() : CRM_Utils_Cache_Redis
- Constructor
- clear() : bool
- Delete all values from the cache.
- connect() : Redis
- Create a connection. If a connection already exists, re-use it.
- delete() : bool
- Delete a value from the cache.
- deleteMultiple() : bool
- Deletes multiple cache items in a single operation.
- flush() : bool
- Delete all values from the cache.
- get() : mixed
- Get a value from the cache.
- getMultiple() : iterable<string|int, mixed>
- Obtains multiple cache items by their unique keys.
- has() : mixed
- set() : bool
- Set the value in the cache.
- setMultiple() : bool
- Persists a set of key => value pairs in the cache, with an optional TTL.
- assertIterable() : mixed
Constants
DEFAULT_HOST
public
mixed
DEFAULT_HOST
= 'localhost'
DEFAULT_PORT
public
mixed
DEFAULT_PORT
= 6379
DEFAULT_PREFIX
public
mixed
DEFAULT_PREFIX
= ''
DEFAULT_TIMEOUT
public
mixed
DEFAULT_TIMEOUT
= 3600
Properties
$_cache
The actual redis object
protected
Redis
$_cache
$_prefix
The prefix prepended to cache keys.
protected
string
$_prefix
= self::DEFAULT_PREFIX
If we are using the same redis instance for multiple CiviCRM installs, we must have a unique prefix for each install to prevent the keys from clobbering each other.
$_timeout
The default timeout to use
protected
int
$_timeout
= self::DEFAULT_TIMEOUT
Methods
__construct()
Constructor
public
__construct(array<string|int, mixed> $config) : CRM_Utils_Cache_Redis
Parameters
- $config : array<string|int, mixed>
-
An array of configuration params.
Return values
CRM_Utils_Cache_Redisclear()
Delete all values from the cache.
public
clear() : bool
NOTE: flush() and clear() should be aliases. flush() is specified by Civi's traditional interface, and clear() is specified by PSR-16.
Return values
boolconnect()
Create a connection. If a connection already exists, re-use it.
public
static connect(array<string|int, mixed> $config) : Redis
Parameters
- $config : array<string|int, mixed>
Return values
Redisdelete()
Delete a value from the cache.
public
delete(mixed $key) : bool
Parameters
- $key : mixed
Return values
booldeleteMultiple()
Deletes multiple cache items in a single operation.
public
deleteMultiple(iterable<string|int, mixed> $keys) : bool
Parameters
- $keys : iterable<string|int, mixed>
-
A list of string-based keys to be deleted.
Tags
Return values
bool —True if the items were successfully removed. False if there was an error.
flush()
Delete all values from the cache.
public
flush() : bool
Return values
boolget()
Get a value from the cache.
public
get(mixed $key[, mixed $default = NULL ]) : mixed
Parameters
- $key : mixed
- $default : mixed = NULL
getMultiple()
Obtains multiple cache items by their unique keys.
public
getMultiple(iterable<string|int, mixed> $keys[, mixed $default = NULL ]) : iterable<string|int, mixed>
Parameters
- $keys : iterable<string|int, mixed>
-
A list of keys that can obtained in a single operation.
- $default : mixed = NULL
-
Default value to return for keys that do not exist.
Tags
Return values
iterable<string|int, mixed> —A list of key => value pairs. Cache keys that do not exist or are stale will have $default as value.
has()
public
has(mixed $key) : mixed
Parameters
- $key : mixed
set()
Set the value in the cache.
public
set(mixed $key, mixed $value[, null|int|DateInterval $ttl = NULL ]) : bool
Parameters
- $key : mixed
- $value : mixed
- $ttl : null|int|DateInterval = NULL
Tags
Return values
boolsetMultiple()
Persists a set of key => value pairs in the cache, with an optional TTL.
public
setMultiple(iterable<string|int, mixed> $values[, null|int|DateInterval $ttl = NULL ]) : bool
Parameters
- $values : iterable<string|int, mixed>
-
A list of key => value pairs for a multiple-set operation.
- $ttl : null|int|DateInterval = NULL
-
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.
Tags
Return values
bool —True on success and false on failure.
assertIterable()
private
assertIterable(mixed $func, mixed $keys) : mixed
Parameters
- $func : mixed
- $keys : mixed