uri->segment_array(), 2); if('redis' == $method){ $this->get_redis($segments); } } function get_redis($params){ list($method, $key, $p1, $p2, $p3) = $params; if(!$key){ exit('key is null'); } $r = &load_cache('redis'); $redis = $r->redis(); switch(strtolower($method)){ case 'keys': $ret = $redis->keys('*'.$key.'*'); break; case 'get': $ret = $redis->get($key); break; case 'smembers': $ret = $redis->sMembers($key); break; case 'sismember': $ret = $redis->sIsMember($key, $p1); break; case 'scard': $ret = $redis->sCard($key); break; case 'zrange': $ret = $redis->zRange($key, $p1, $p2, true); break; case 'zrangebyscore': $ret = $redis->zRangeByScore($key, $p1, $p2); break; case 'llen': $ret = $redis->lLen($key); break; case 'lindex': $ret = $redis->lIndex($key, $p1); break; case 'lrange': $ret = $redis->lRange($key, $p1, $p2); break; default: exit("method forbidden"); } if(is_string($ret)){ $json = json_decode($ret, true); json_last_error() == JSON_ERROR_NONE && $ret = $json; } $data = array('params' => $params, 'ret' => $ret); echo json_encode($data); exit; } }