/***
*
* 计算在线用户
*/
public function actionOnline(){
$dd = Yii::$app->redis;
$prefix_key = "online".'0253';
$cy = $dd->SMEMBERS($prefix_key);
//var_dump(count($cy));
$time = time();
$stime = $time-60*60; //相差5分钟
$etime = $time;
$stime = date("hi",$stime);
$etime = date("hi",$etime);
$num = $this->userNum($stime,$etime);
var_dump($stime,$etime);
var_dump($num);exit;
}
/**
* 获取在线用户数
* @param $start_min 统计开始分钟 hi格式
* @param $end_min 统计结束的分钟
* @return mixed
*/
public function userNum($start_min, $end_min)
{
$dd = Yii::$app->redis;
$prefix_key = "online0"; //key前缀
//遍历时间区间内所有的分钟,并放入到参数中
$n="";num =0;
for ($min=$start_min;$min <=$end_min;$min++){
$params = $prefix_key.$min;
$cy = $dd->SMEMBERS($params);
if($cy){
$
redis 实现最近20分钟在线人数统计
于 2022-02-18 15:12:37 首次发布