程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php+memcache實現的網站在線人數統計代碼

php+memcache實現的網站在線人數統計代碼

編輯:關於PHP編程

今天閒來無事,想在博客統計中顯示在線人數。在網上找了好多例子,不是數據庫存儲數據就是文件存儲,代碼也看起來過於復雜。

晚上回來後,構思了下,看到我服務器中安裝有 Memcache 服務,何不用 Memcache 實現呢。

下面就來講下實現過程:

效果圖:

實現代碼:

<?php
$mc = new Memcache ();

// 連接memcache
$mc->connect ( "127.0.0.1", 11211 );

// 獲取 在線用戶 IP 和 在線時間數據
$online_members = $mc->get ( 'online_members' );

// 如果為空,初始化數據
if (! $online_members) {
 $online_members = array ();
}

// 獲取用戶ip
$ip = $_SERVER ["REMOTE_ADDR"];

// 為訪問用戶重新設置在線時間
$online_members [$ip] = time ();

foreach ($online_members as $k => $v) {
 // 如果三分鐘後再未訪問頁面,剛視為過期
 if (time() - $v > 180) {
 unset($online_members[$k]);
 }
}

// 重新設置在線用戶數據
$mc->set ( 'online_members', $online_members );

// 重新獲取在線用戶數據
$online_members = $mc->get ( 'online_members' );

// 輸入統計在線人數
echo count($online_members);
?>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved