PHP Class lithium\storage\cache\adapter\Redis
This adapter uses the
phpredis PHP extension, which can be found here:
https://github.com/nicolasff/phpredis
The Redis cache adapter is meant to be used through the
Cache interface,
which abstracts away key generation, adapter instantiation and filter
implementation. This adapter does not aim to provide a full implementation of the
Redis API, but rather only a subset of its features that are useful in the context of a
semi-persistent cache.
A simple configuration of this adapter can be accomplished in
config/bootstrap/cache.php
as follows:
{{{
Cache::config(array(
'cache-config-name' => array(
'adapter' => 'Redis',
'host' => '127.0.0.1:6379'
)
));
}}}
The 'host' key accepts a string argument in the format of ip:port where the Redis
server can be found.
This Redis adapter provides basic support for
write,
read,
delete
and
clear cache functionality, as well as allowing the first four
methods to be filtered as per the Lithium filtering system.
显示文件
Open project: unionofrad/lithium
Class Usage Examples
Public Properties
Property |
Type |
Description |
|
$connection |
|
Redis object instance used by this adapter. |
|
Public Methods
Method |
Description |
|
__call ( string $method, array $params = [] ) : mixed |
Dispatches a not-found method to the connection object. That way, one can
easily use a custom method on the adapter. If you want to know, what methods
are available, have a look at the documentation of phpredis. |
|
__construct ( array $config = [] ) : void |
Constructor. |
|
clear ( ) : boolean |
Clears entire database by flushing it. All cache keys using the
configuration but *without* honoring the scope are removed. |
|
decrement ( string $key, integer $offset = 1 ) : integer | boolean |
Performs an atomic decrement operation on specified numeric cache item. |
|
delete ( array $keys ) : boolean |
Will attempt to remove specified keys from the user space cache. |
|
enabled ( ) : boolean |
Determines if the Redis extension has been installed and
that there is a Redis server available. |
|
increment ( string $key, integer $offset = 1 ) : integer | boolean |
Performs an atomic increment operation on specified numeric cache item. |
|
read ( array $keys ) : array |
Read values from the cache. Will attempt to return an array of data
containing key/value pairs of the requested data. |
|
respondsTo ( string $method, boolean $internal = false ) : boolean |
Determines if a given method can be called. |
|
write ( array $keys, string | integer $expiry = null ) : boolean |
Write values to the cache. All items to be cached will receive an
expiration time of $expiry. |
|
Protected Methods
Method |
Description |
|
_formatHost ( mixed $host ) : array |
Formats standard 'host:port' or '/path/to/socket' strings |
|
_init ( ) : void |
Initialize the Redis connection object, connect to the Redis server and sets
prefix using the scope if provided. |
|
Method Details
Cache::adapter('redis')->methodName($argument);
One use-case might be to query possible keys, e.g.
Cache::adapter('redis')->keys('*');
public __call ( string $method, array $params = [] ) : mixed |
$method |
string |
Name of the method to call. |
$params |
array |
Parameter list to use when calling $method. |
return |
mixed |
Returns the result of the method call. |
__construct()
public method
public __construct ( array $config = [] ) : void |
$config |
array |
Configuration for this cache adapter. These settings are queryable
through `Cache::config('name')`. The available options are as follows:
- `'scope'` _string_: Scope which will prefix keys; per default not set.
- `'expiry'` _mixed_: The default expiration time for cache values, if no value
is otherwise set. Can be either a `strtotime()` compatible tring or TTL in
seconds. To indicate items should not expire use `Cache::PERSIST`. Defaults
to `+1 hour`.
- `'host'` _string_: A string in the form of `'host:port'` indicating the Redis server
to connect to. Defaults to `'127.0.0.1:6379'`.
- `'persistent'` _boolean_: Indicates whether the adapter should use a persistent
connection when attempting to connect to the Redis server. If `true`, it will
attempt to reuse an existing connection when connecting, and the connection will
not close when the request is terminated. Defaults to `false`. |
return |
void |
|
Initialize the Redis connection object, connect to the Redis server and sets
prefix using the scope if provided.
The behavior and result when removing a single key
during this process fails is unknown.
decrement()
public method
Note that if the value of the specified key is *not* an integer, the decrement
operation will have no effect whatsoever. Redis chooses to not typecast values
to integers when performing an atomic decrement operation.
Will attempt to remove specified keys from the user space cache.
public delete ( array $keys ) : boolean |
$keys |
array |
Keys to uniquely identify the cached items. |
return |
boolean |
`true` on successful delete, `false` otherwise. |
enabled()
public static method
Determines if the Redis extension has been installed and
that there is a Redis server available.
public static enabled ( ) : boolean |
return |
boolean |
Returns `true` if the Redis extension is enabled, `false` otherwise. |
increment()
public method
Note that if the value of the specified key is *not* an integer, the increment
operation will have no effect whatsoever. Redis chooses to not typecast values
to integers when performing an atomic increment operation.
Read values from the cache. Will attempt to return an array of data
containing key/value pairs of the requested data.
public read ( array $keys ) : array |
$keys |
array |
Keys to uniquely identify the cached items. |
return |
array |
Cached values keyed by cache keys on successful read,
keys which could not be read will not be included in
the results array. |
respondsTo()
public method
Determines if a given method can be called.
public respondsTo ( string $method, boolean $internal = false ) : boolean |
$method |
string |
Name of the method. |
$internal |
boolean |
Provide `true` to perform check from inside the
class/object. When `false` checks also for public visibility;
defaults to `false`. |
return |
boolean |
Returns `true` if the method can be called, `false` otherwise. |
Write values to the cache. All items to be cached will receive an
expiration time of $expiry.
public write ( array $keys, string | integer $expiry = null ) : boolean |
$keys |
array |
Key/value pairs with keys to uniquely identify the to-be-cached item. |
$expiry |
string | integer |
A `strtotime()` compatible cache time or TTL in seconds.
To persist an item use `\lithium\storage\Cache::PERSIST`. |
return |
boolean |
`true` on successful write, `false` otherwise. |
Property Details
$connection public_oe property
Redis object instance used by this adapter.