PHP counts online users
Release: 2016-07-25 08:42:17
Original
1073 people have browsed it
- /**
- * Created by PhpStorm.
- * User: jifei
- * Date: 15/11/24
- * Time: 20:58
- *
- * Millions of users per minute, real-time statistics of the total number of online users in the last 15 minutes
- */
- class OnlineUser
- {
- public $prefix_key = "online";//key prefix
- public function __construct()
- {
- $this->redis = new Redis();
- }
- /**
- * Add new online users to the collection
- *
- * @param $uid
- */
- public function addUser($uid)
- {
- $this->redis->sAdd($this->prefix_key . date('hi '), $uid);
- }
- /**
- * Get the number of online users
- *
- * @param $start_min Statistics start minute hi format
- * @param $end_min Statistics end minutes
- *
- * @return mixed
- */
- public function userNum($start_min, $end_min)
- {
- //The first parameter, the key name of the union
- $params[] = $this->prefix_key . $start_min . '_' . $end_min;
- //Traverse all the minutes in the time interval and put them into the parameters
- for ($min = $start_min; $min < $end_min; $min++) {
- $params[] = $this->prefix_key . $min;
- }
- //Find the union of all minute users and save it. The performance is much faster than direct calculation and return, eliminating the need for data transmission
- $num = call_user_func_array([$this->redis, "sUnionStore"], $params);
- //Delete the temporary union
- $this->redis->delete($params[0]);
- return $num;
- }
- }
Copy code
|
PHP
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31