Built a simple wrapper for phpredis
Not every page / page view will need to connect to Redis, set it up so the connect isn't made until a call is made, lazy connect if you will.
This commit is contained in:
parent
061d7aee73
commit
7063b7aafe
5 changed files with 109 additions and 5 deletions
30
classes/CustomRedis.php
Normal file
30
classes/CustomRedis.php
Normal file
|
@ -0,0 +1,30 @@
|
|||
<?php
|
||||
|
||||
class CustomRedis extends Object
|
||||
{
|
||||
protected $redis = false;
|
||||
|
||||
public function __call($name, $arguments)
|
||||
{
|
||||
if (!$this->redis)
|
||||
{
|
||||
$datasource = $this->config->datasources['redis'];
|
||||
|
||||
try
|
||||
{
|
||||
$this->redis = new Redis();
|
||||
$this->redis->connect($datasource['hostname'], $datasource['port']);
|
||||
$this->redis->setOption(Redis::OPT_PREFIX, $datasource['namespace'] . ':');
|
||||
$this->redis->select($datasource['database']);
|
||||
}
|
||||
catch (RedisException $e)
|
||||
{
|
||||
exit('There was error connecting to Redis :(');
|
||||
}
|
||||
}
|
||||
|
||||
return call_user_func_array(array($this->redis, $name), $arguments);
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
Loading…
Add table
Add a link
Reference in a new issue