日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

博客项目之设计访客统计

發(fā)布時間:2025/7/14 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 博客项目之设计访客统计 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

分類統(tǒng)計

需求:

統(tǒng)計用戶點擊這三個分類的次數(shù),用來分析用戶喜歡哪些話題。

實現(xiàn)原理:

通過給a標簽設(shè)置一個背景圖片屬性,當點擊的時候發(fā)送一條請求給服務(wù)器。

服務(wù)器端:
app.get('/stat',routes.stat);
數(shù)據(jù)庫:

設(shè)置相應(yīng)的幾個字段

接著處理相應(yīng)的請求,如下

請求的參數(shù)就是對應(yīng)的key,因此只需要先將對應(yīng)的數(shù)據(jù)先查詢出來,然后在其基礎(chǔ)上 + 1 即可。

對應(yīng)的數(shù)據(jù)表

完。

統(tǒng)計首頁用戶請求來源

如果懂點HTTP該有多好,那是很久以后才明白的。

HTTP中的請求頭部有一個referer屬性,這個屬性記錄著用戶從哪個頁面過來的,因此只需要在服務(wù)器腳本中寫上這么一句就可以了。

nodejs中的

req.headers.referer

可以用來獲取來源。

在數(shù)據(jù)中查到的數(shù)據(jù)

完。

統(tǒng)計用戶訪問量

思路:

通過獲取用戶的IP地址來統(tǒng)計訪問量

實現(xiàn)方法:

nodejs通過如下可以獲取到用戶的ip

req.connection.remoteAddress
數(shù)據(jù)庫設(shè)計思路
[{visitorip:["127.0.0.1","162.124.0.24","182.150.1.56"],date:currentDate} ]

currentDate為當天的日期,將同一天訪問的ip,都添加到同一個數(shù)組中,否則新建一個對象。

實現(xiàn)過程

查詢當天有沒有相關(guān)的數(shù)據(jù)

false
新建一個對象,將對應(yīng)的數(shù)據(jù)插入進去

true
在原數(shù)據(jù)的基礎(chǔ)上再添加一條,接著將這個新數(shù)組更新到數(shù)據(jù)庫中

一些亂想

在添加到數(shù)據(jù)庫之前,并沒有過濾重復IP,這樣的原因是:這些重復的數(shù)據(jù)也許有其他用處。

能保留完整的數(shù)據(jù)盡量保留完整,而過濾應(yīng)該是單獨考慮的事。

用戶訪問量統(tǒng)計

獲取前幾天的訪問量將數(shù)組倒序一些即可,因為mongodb后添加的數(shù)據(jù)越往后。

這里的訪問量并不包括重復的IP,因此通過map方法將所有數(shù)據(jù)通過Set對象過濾,再取它的長度即可。

獲取到的數(shù)據(jù)

結(jié)果

一些問題

這個設(shè)計中,關(guān)于統(tǒng)計都是通過客服端或服務(wù)器來計算的,并沒有將這些計算的結(jié)果單獨設(shè)計一個字段,如果數(shù)據(jù)量較大的情況下,會不會出現(xiàn)什么問題,這是值得思考的問題。

完。

轉(zhuǎn)載于:https://www.cnblogs.com/pssp/p/6096929.html

總結(jié)

以上是生活随笔為你收集整理的博客项目之设计访客统计的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。