php+memcache實(shí)現(xiàn)的網(wǎng)站在線(xiàn)人數(shù)統(tǒng)計(jì)代碼
今天閑來(lái)無(wú)事,想在博客統(tǒng)計(jì)中顯示在線(xiàn)人數(shù)。在網(wǎng)上找了好多例子,不是數(shù)據(jù)庫(kù)存儲(chǔ)數(shù)據(jù)就是文件存儲(chǔ),代碼也看起來(lái)過(guò)于復(fù)雜。
晚上回來(lái)后,構(gòu)思了下,看到我服務(wù)器中安裝有 Memcache 服務(wù),何不用 Memcache 實(shí)現(xiàn)呢。
下面就來(lái)講下實(shí)現(xiàn)過(guò)程:
效果圖:
實(shí)現(xiàn)代碼:
<?php $mc = new Memcache (); // 連接memcache $mc->connect ( "127.0.0.1", 11211 ); // 獲取 在線(xiàn)用戶(hù) IP 和 在線(xiàn)時(shí)間數(shù)據(jù) $online_members = $mc->get ( 'online_members' ); // 如果為空,初始化數(shù)據(jù) if (! $online_members) { $online_members = array (); } // 獲取用戶(hù)ip $ip = $_SERVER ["REMOTE_ADDR"]; // 為訪(fǎng)問(wèn)用戶(hù)重新設(shè)置在線(xiàn)時(shí)間 $online_members [$ip] = time (); foreach ($online_members as $k => $v) { // 如果三分鐘后再未訪(fǎng)問(wèn)頁(yè)面,剛視為過(guò)期 if (time() - $v > 180) { unset($online_members[$k]); } } // 重新設(shè)置在線(xiàn)用戶(hù)數(shù)據(jù) $mc->set ( 'online_members', $online_members ); // 重新獲取在線(xiàn)用戶(hù)數(shù)據(jù) $online_members = $mc->get ( 'online_members' ); // 輸入統(tǒng)計(jì)在線(xiàn)人數(shù) echo count($online_members); ?>
相關(guān)文章
thinkPHP中驗(yàn)證碼的簡(jiǎn)單使用方法
這篇文章主要介紹了thinkPHP中驗(yàn)證碼的簡(jiǎn)單使用方法,涉及thinkPHP驗(yàn)證碼邏輯功能的實(shí)現(xiàn)與界面顯示的相關(guān)技巧,需要的朋友可以參考下2015-12-12PHP處理Ajax請(qǐng)求與Ajax跨域問(wèn)題
這篇文章主要介紹了PHP處理Ajax請(qǐng)求與Ajax跨域問(wèn)題的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-02-02thinkPHP5.0框架驗(yàn)證碼調(diào)用及點(diǎn)擊圖片刷新簡(jiǎn)單實(shí)現(xiàn)方法
這篇文章主要介紹了thinkPHP5.0框架驗(yàn)證碼調(diào)用及點(diǎn)擊圖片刷新簡(jiǎn)單實(shí)現(xiàn)方法,結(jié)合簡(jiǎn)單示例形式分析了thinkPHP5框架驗(yàn)證碼相關(guān)配置、后臺(tái)驗(yàn)證、前臺(tái)刷新等操作技巧,需要的朋友可以參考下2018-09-09php和redis實(shí)現(xiàn)秒殺活動(dòng)的流程
這篇文章主要介紹了php和redis設(shè)計(jì)秒殺活動(dòng)的流程,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-07-07Linux下PHP連接Oracle數(shù)據(jù)庫(kù)
PHP連接Oracle是通過(guò)oci8訪(fǎng)問(wèn)的。需要在web服務(wù)器上安裝oracle-instantcilent,使PHP支持Oracle擴(kuò)展包OCI。下面我們來(lái)一步步詳細(xì)介紹下如何使用PHP連接Oracle。2014-08-08ThinkPHP中Widget擴(kuò)展的兩種寫(xiě)法及調(diào)用方法詳解
這篇文章主要介紹了ThinkPHP中Widget擴(kuò)展的兩種寫(xiě)法及調(diào)用方法,詳細(xì)分析了Widget擴(kuò)展的寫(xiě)法及相應(yīng)的調(diào)用技巧,需要的朋友可以參考下2017-05-05laravel model模型處理之修改查詢(xún)或修改字段時(shí)的類(lèi)型格式案例
今天小編就為大家分享一篇laravel model模型處理之修改查詢(xún)或修改字段時(shí)的類(lèi)型格式案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨想過(guò)來(lái)看看吧2019-10-10Thinkphp5框架實(shí)現(xiàn)獲取數(shù)據(jù)庫(kù)數(shù)據(jù)到視圖的方法
這篇文章主要介紹了Thinkphp5框架實(shí)現(xiàn)獲取數(shù)據(jù)庫(kù)數(shù)據(jù)到視圖的方法,涉及thinkPHP5數(shù)據(jù)庫(kù)配置、讀取、模型操作及視圖調(diào)用相關(guān)操作技巧,需要的朋友可以參考下2019-08-08