100分问个数据库统计的问题 去下载几个PHP统计的看看吧.. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我觉得不能因为如果 一个用户10分钟不对,如何统计他?个人感觉,如果真想统计话,唯一能解决的,是考虑动态cooke,这样用户的每个动作都能记录但逻辑上没实现过 确切地说可以统计,但是,如果每5分钟做一次这种统计的话,访问量稍微大一点,整个系统恐怕都会瘫痪。进入到哪里?每个访问都要判断的话,多少服务器并联都不够用统计,最普遍的方法如下:1.通过访问日志来判断 一次性的把访问数据以日志的形势保存,每隔一段时间(如每天凌晨),服务器负担最轻的时候做一次统计,归总到数据库。 保存日至的形式可以是文本,可以用log4php、pear log、zend log等等函数库;有条件的话也可以用Mysql,但是桌面引擎必须是heep。2.通过外部服务判断 例如Google Analytics,功能非常多。 http://www.google.com/analytics 缺点是无法确定网站内部数据库的相关信息,如会员信息 可以用一个表来完成。online表:oid(online表主键),mid(用户id),jointime(加入时间),leavetime(离开时间) 用户进入->判断online表选择max(leavetime),如果比当前时间>5min 就新插入否则更新leavetime为当前时间这是按你上面的意思改了,有一个问题就是你这样统计的登录次数是不正确的,如果5min之内你的用户登录两次或是多次的话,你只当作一次来算了 不是说5分钟做一次统计是说每5分钟更新他的状态,就相当于把session存到数据表里了 正解不过这种东西分析日志更划算也更精确 反正那个东西用不用都有 不用白不用 不会给系统增加额外的负担说实话 如果不是有特殊的需要 GOOGLE 统计分析更好 分析访问日志的效果是最精确的当然,Apache的日志和程序的日志可以分开统计 onbeforeunload函数,能够捕捉,但是浏览器刷新,前进,后退都会提示,这很麻烦. 1.用javascript可以捕捉到浏览器页面关闭的时间,但是无法判断浏览器关闭的时间,更无法知道session的断开时间2.HTTP协议根本就没有实际的session概念,所谓的连接也都是虚拟的,判断在线时间同样是虚拟的,只是判断在同一个IP在某一时间段内是否有访问。 HTTP服务器与客户端的实际在线时间根本就判断不出来!如果是统计HTTP访问的话,Google Analytics完全可以满足大多数商业要求。 去下载几个PHP统计的看看吧.. 个人感觉,如果真想统计话,唯一能解决的,是考虑动态cooke, 这样用户的每个动作都能记录 但逻辑上没实现过 关于正则表达式的问题 preg_replace去空行的问题 PHP高手帮忙写个文件 php发mail比较慢,请问如何可以服务器发送mail的同时,页面转到其它页呢? 文字内容中按要求输出内容,在线等 PHP连接Oralce出现:tns: no listener 请问建立字段时如果这个列上经常用where,那应该建立那种索引? 为什么这个input不能显示出来?只显示了第一个DIV。 棘手的问题,unlink函数无法找到文件! PHP输出缓存头信息问题 备份命令出错 SQL查询问题
这样用户的每个动作都能记录但逻辑上没实现过
确切地说可以统计,但是,如果每5分钟做一次这种统计的话,访问量稍微大一点,整个系统恐怕都会瘫痪。进入到哪里?每个访问都要判断的话,多少服务器并联都不够用
统计,最普遍的方法如下:
1.通过访问日志来判断
一次性的把访问数据以日志的形势保存,每隔一段时间(如每天凌晨),服务器负担最轻的时候做一次统计,归总到数据库。
保存日至的形式可以是文本,可以用log4php、pear log、zend log等等函数库;有条件的话也可以用Mysql,但是桌面引擎必须是heep。
2.通过外部服务判断
例如Google Analytics,功能非常多。
http://www.google.com/analytics
缺点是无法确定网站内部数据库的相关信息,如会员信息
online表:
oid(online表主键),mid(用户id),jointime(加入时间),leavetime(离开时间) 用户进入->判断online表选择max(leavetime),如果比当前时间>5min 就新插入
否则更新leavetime为当前时间
这是按你上面的意思改了,有一个问题就是你这样统计的登录次数是不正确的,如果5min之内你的用户登录两次或是多次的话,你只当作一次来算了
是说每5分钟更新他的状态,就相当于把session存到数据表里了
说实话 如果不是有特殊的需要 GOOGLE 统计分析更好
当然,Apache的日志和程序的日志可以分开统计
1.用javascript可以捕捉到浏览器页面关闭的时间,但是无法判断浏览器关闭的时间,更无法知道session的断开时间
2.HTTP协议根本就没有实际的session概念,所谓的连接也都是虚拟的,判断在线时间同样是虚拟的,只是判断在同一个IP在某一时间段内是否有访问。
HTTP服务器与客户端的实际在线时间根本就判断不出来!
如果是统计HTTP访问的话,Google Analytics完全可以满足大多数商业要求。
这样用户的每个动作都能记录 但逻辑上没实现过