public function info() { $server = $this->model->one(intval($this->input->get('id'))); $redis = new \redis(); if ($redis->connect($server->host, $server->port, 30) == false) { echo "Redis '{$server->host}' Connected Failed. \n"; exit($redis->getLastError()); } if ($server->password) { if ($redis->auth($server->password) == false) { echo "Redis '{$server->host}' Password Is Incorrect. \n"; exit($redis->getLastError()); } } $data['keyspace'] = $redis->info('keyspace'); $data['memory'] = $redis->info('memory'); $data['clients'] = $redis->info('clients'); //$data['slow'] = $redis->slowLog('get',10); $redis->close(); $result = $this->db('bs')->query('select * from en_server_redis_data where server_id=' . $server->id . ' order by created asc ')->result(); $data['chart_memory_data'] = []; $data['chart_memory_time'] = []; $data['chart_connection_data'] = []; $data['chart_connection_time'] = []; foreach ($result as $rs) { $data['chart_memory_data'][] = round($rs->memory / 1024 / 1024, 2); $data['chart_memory_time'][] = date('H:i', $rs->created); $data['chart_connection_data'][] = intval($rs->connection); $data['chart_connection_time'][] = date('H:i', $rs->created); } $data['server'] = $server; $this->output->view('monitor/redis/server_info', $data); }
<?php /* 这里替换为连接的实例host和port */ $host = "127.0.0.1"; $port = 6379; /* 这里替换为实例id和实例password,没有则注释掉 */ /*$user = "******"; $pwd = "xxxxxxx";*/ $Redis = new redis(); //$Redis->pconnect('127.0.0.1', 6379); if ($Redis->pconnect($host, $port) == false) { die($Redis->getLastError()); } //如果没有账户密码,就注释掉 /*if ($Redis->auth($user . ":" . $pwd) == false) { die($Redis->getLastError()); }*/ file_put_contents('./redis.json', ''); $it = NULL; /* Initialize our iterator to NULL */ $Redis->setOption(Redis::OPT_SCAN, Redis::SCAN_RETRY); /* retry when we get no keys back */ while ($keys = $Redis->scan($it)) { $out = ''; foreach ($keys as $key) { //echo $Redis->type($key),"\n"; $arr = array(); $type = $Redis->type($key); $expire = $Redis->ttl($key); switch ($type) { case $Redis::REDIS_STRING: