被动式统计网站在线人数

2019-04-02 15:13:55王旭

    IF Conn.ExeCute("SELECT COUNT(ol_ID) FROM blog_Online
    WHERE DateDiff('n',ol_Time,Now())>20")(0)>0 Then
        ' 如果有则覆盖一个已超时访客的记录
        Conn.ExeCute("UPDATE blog_Online SET ol_IP='"&Guest_IP&"',
        ol_Time=Now() WHERE ol_ID IN (SELECT TOP 1 ol_ID
        FROM blog_Online WHERE DateDiff('n',ol_Time,Now())>20)")
    Else
        ' 如果没有则添加一条在线访客记录
        Conn.ExeCute("INSERT INTO blog_Online (ol_IP)
        VALUES ('"&Guest_IP&"')")
    End IF
    ' 统计blog在线人数
    blog_OnlineNums=Conn.ExeCute("SELECT DISTINCT COUNT(ol_ID)
    FROM blog_Online WHERE DateDiff('n',ol_Time,Now())<20")(0)
    ' 更新blog信息中的在线人数
    Conn.ExeCute("UPDATE blog_Info SET blog_OnlineNums="&blog_OnlineNums&"")
    SQLQueryNums=SQLQueryNums+3
End IF

这样,在blog中需要显示在线人数的地方引用变量blog_OnlineNums就行了。

并且因为是被动式统计,对blog页面执行时间的影响几乎可以忽略不计,另外,这个方法统计的blog在线人数也有一定的准确性,可以满足一般的需求了。

您可能感兴趣的文章:

不用Global.asa也能实现统计在线人数吗?统计在线人数是实时的吗?asp论坛在线人数统计研究也谈php网站在线人数统计javascript 传统事件模型构造的事件监听器实现代码c#显示当前在线人数示例封装了一个支持匿名函数的Javascript事件监听器php+memcache实现的网站在线人数统计代码PHP+jquery实时显示网站在线人数的方法jsp利用application统计在线人数的方法php实现统计网站在线人数的方法ASP.NET中使用Application对象实现简单在线人数统计功能php使用Session和文件统计在线人数浅析JAVA中过滤器、监听器、拦截器的区别利用java监听器实现在线人数统计