PHP統計在線用戶數

jopen 9年前發布 | 1K 次閱讀 PHP

<?php
/**

  • Created by PhpStorm.
  • User: jifei
  • Date: 15/11/24
  • Time: 20:58 *
  • 每分鐘百萬用戶,實時統計最近15分鐘在線用戶總數 */ class OnlineUser { public $prefix_key = "online";//key前綴 public function __construct() {
     $this->redis = new Redis();
    
    } /**
    • 往集合中添加新的在線用戶 *
    • @param $uid */ public function addUser($uid) { $this->redis->sAdd($this->prefix_key . date('hi'), $uid); } /**
    • 獲取在線用戶數 *
    • @param $start_min 統計開始分鐘 hi格式
    • @param $end_min 統計結束的分鐘 *
    • @return mixed */ public function userNum($start_min, $end_min) { //第一個參數,并集的key名稱 $params[] = $this->prefix_key . $startmin . '' . $end_min; //遍歷時間區間內所有的分鐘,并放入到參數中 for ($min = $start_min; $min < $end_min; $min++) {
       $params[] = $this->prefix_key . $min;
      
      } //求所有分鐘的用戶的并集并保存,性能比直接計算返回快很多,省去了數據傳輸 $num = call_user_func_array([$this->redis, "sUnionStore"], $params); //刪除臨時并集 $this->redis->delete($params[0]); return $num; } }</pre>
 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!