redis_vsignal = Redis("fdzs_vsignal_{no}","zset")->prefix('fdzs_vsignal_'); $where = array( 0,time()); $vehicle = '864127124d17'; $list = $this->redis_vsignal->table($vehicle)->where($where)->select(); $sum = 0; $count = 0; foreach($list as $signal => $time){ $signal = json_decode($signal,true); $sum += $signal['Rssi']; $count++; } if(!$count){ return false; } $avgRssi = $sum/$count; echo '$avgRssi = '.$avgRssi.PHP_EOL; return $avgRssi; var_dump($list);exit; $alarm_info['ID'] = create_guid(); $result = M('rchy_alarm')->createAdd($alarm_info); var_dump($result);exit; $this->redis_vsignal = Redis("rchy_vsignal_{no}","zset")->prefix('fdzs_vsignal_'); /* //模拟插入信号数据 for($i=0;$i<5;$i++){ $row = array(); $row['VehicleNumber'] = 'FFFF11112222'; $row['StationCode'] = 'A11066'; $row['rssi'] = 60+$i; $row['Timestamp'] = time(); $vehicle_no = strtolower($row['VehicleNumber']); $signal = array( 'StationCode' => $row['StationCode'], 'Rssi' => $row['rssi'], 'Timestamp' => $row['Timestamp'] ); $data = array( json_encode($signal) => $row['Timestamp'] ); $this->redis_vsignal->table($vehicle_no)->add($data); echo 'insert '.$i.PHP_EOL; sleep(1); } */ $rchy_alarm_list = Redis("rchy_alarm_list","queue"); $alarm_info = $rchy_alarm_list->pop(); var_dump($alarm_info);exit; $time = time(); while(time() - $time<60){ $vehicle_no = strtolower('864127129ac7'); $last_signal = $this->redis_vsignal->table($vehicle_no)->max(); var_dump($last_signal); } exit; //输出轨迹查询结果 $vehicle_no = strtolower('FFFF11112222'); $now = time(); $cond = array($now-60,$now); $cond = array(1531208748,$now); $cond = array(0,$now); $first_info = $this->redis_vsignal->table($vehicle_no)->where($cond)->min(); echo $first_info[1].PHP_EOL; var_dump($first_info);exit; $last_info = $this->redis_vsignal->table($vehicle_no)->where($cond)->max(); var_dump($last_info);exit; $signal_list = $this->redis_vsignal->table($vehicle_no)->where($cond)->select(); //var_dump($signal_list); $list = array(); foreach($signal_list as $key=>$row){ $signal = json_decode($key,true); if(!$signal){ return false; } $list[] = $signal; } var_dump($list); /* 输出结果:按分数升序 array(3) { ["{"StationCode":"A11066","Rssi":62,"Timestamp":1531208748}"]=> float(1531208748) ["{"StationCode":"A11066","Rssi":63,"Timestamp":1531208749}"]=> float(1531208749) ["{"StationCode":"A11066","Rssi":64,"Timestamp":1531208750}"]=> float(1531208750) } */ } }