/**
  * Gets a redis resource
  *
  * @param string $id
  * @return RedisResource
  * @throws Exception\RuntimeException
  */
 public function getResource($id)
 {
     if (!$this->hasResource($id)) {
         throw new Exception\RuntimeException("No resource with id '{$id}'");
     }
     $resource =& $this->resources[$id];
     if ($resource['resource'] instanceof RedisResource) {
         //in case new server was set then connect
         if (!$resource['initialized']) {
             $this->connect($resource);
         }
         $info = $resource['resource']->info();
         $resource['version'] = $info['redis_version'];
         return $resource['resource'];
     }
     $redis = new RedisResource();
     foreach ($resource['lib_options'] as $k => $v) {
         $redis->setOption($k, $v);
     }
     $resource['resource'] = $redis;
     $this->connect($resource);
     $info = $redis->info();
     $resource['version'] = $info['redis_version'];
     $this->resources[$id]['resource'] = $redis;
     return $redis;
 }