php 计算浏览数,集思广益,关于有效浏览次数的计算,大家都是如何来做呢?...
比如一个人对同一篇文章不停得刷新,这样不能算有效。我现在的想法是当用户第一次浏览文章的时候存一个cookie,cookie里有文章的id,有效期一个小时,如果同一小时,该用户访问该文章,如果cookie存在则不记录。不知道大家又没有更加高端,友好的统计方式。
回复内容:
比如一个人对同一篇文章不停得刷新,这样不能算有效。我现在的想法是当用户第一次浏览文章的时候存一个cookie,cookie里有文章的id,有效期一个小时,如果同一小时,该用户访问该文章,如果cookie存在则不记录。不知道大家又没有更加高端,友好的统计方式。
浏览记录最好通过日志来记录,然后进行日志分析即可,好处是异步。
日志记录用户ID,URL,访问时间。然后简单去做去重统计即可。
登录用户:用户ID+log+时间判断
未登录用户:客户端IP+log+时间判断
cookie也不错的,如果要节约资源直接CNZZ统计、百度统计
cookie记录不太合适,会造成request http header过大,现代浏览器可以用local storage存储在客户端,判断是否存在文章id再进行计数的request
这种统计就交给CNZZ,百度统计,谷歌统计等第三方统计平台吧。
浏览量,单页面浏览量,单人单页面浏览量,老访客,新访客等等都能统计到,展现方式也很友好。
还能数据导出。
可以采用bitmap思想:每篇文章对应一个bitmap,每个uid对应bitmap中的某offset,某uid访问这篇文章,把uid对应的offset置为1。这样就不会出现重复访问的问题,而且有现成的方法计算值为1的bit的数量。如果网站访问量不是很大的话,每篇文章对应的bitmap为128*128足够了。这样有点是简单,缺点可能就是还有存在资源浪费。
自己做个事件记录
客户端:
检测cookie,没有就随机生成一个作为客户标识(uid),并将超时设置很长很长....
js发送一条请求到事件记录服务器,参数:timestamp uid eventName eventValue
eventName 是事件名,比如 postVisit
eventValue是事件值,比如
服务端:
1. 记录事件到文件,可以按时间比如10分钟一个文件
2. 写个脚本 定时(10分钟)处理事件记录文件,根据eventName,eventValue 计算帖子访问量,然后更新数据库中对应字段(累加)
自由组合eventName,eventValue可以做多种事件统计
抛砖引玉一下,异步请求,用bloomfilter后台判断:
用户登录用用户id,用户未登录,用IP+UA或者其他生成用户标识
后台有一个bloomfilter的集合,用来判断是否已存在
相关标签:php
本文原创发布php中文网,转载请注明出处,感谢您的尊重!
php 计算浏览数,集思广益,关于有效浏览次数的计算,大家都是如何来做呢?...相关推荐
- 【SQL开发实战技巧】系列(十七):数据仓库中时间类型操作(初级)确定两个日期之间的工作天数、计算—年中周内各日期出现次数、确定当前记录和下一条记录之间相差的天数
系列文章目录 [SQL开发实战技巧]系列(一):关于SQL不得不说的那些事 [SQL开发实战技巧]系列(二):简单单表查询 [SQL开发实战技巧]系列(三):SQL排序的那些事 [SQL开发实战技巧] ...
- php设置浏览次数,【php】集思广益,关于有效浏览次数的计算,大家都是如何来做呢?...
比如一个人对同一篇文章不停得刷新,这样不能算有效.我现在的想法是当用户第一次浏览文章的时候存一个cookie,cookie里有文章的id,有效期一个小时,如果同一小时,该用户访问该文章,如果cooki ...
- 用线性回归无编码实现文章浏览数预测
继 无编码利用协同算法实现个性化推荐,我纯粹使用SQL和配置实现了一个更为复杂一些的,计算文章词汇的tf/idf值,将浏览数作为预测值,使用线性回归算法进行模型训练的示例.帮助大家更好的了解Strea ...
- 庆祝自开博来首篇浏览数过万的随笔诞生 - [原创]从程序员角度分析安徽电信HTTP劫持的无耻行径......
这是自从2009年创立本博客以来,首个浏览数过万的随笔.庆祝!庆祝! 1. [原创]从程序员角度分析安徽电信HTTP劫持的无耻行径,以及修改Hosts文件,使用OPENDNS无效情况下的解决方案(11 ...
- 用lxml的xpath演示爬虫提取笑话集网页其中的标题,url,浏览数,日期,笑话内容
人狠话不多,直接上源码 from urllib import request,parse from urllib import error import chardet from lxml impor ...
- 翼方健数曹华:构建数据和计算互联网的必由之路
智能时代,数据无疑是最活跃的生产要素,它将决定未来的生产力和生产关系.其中,共享和保护数据,促进数据流通,并最大化数据价值是业内技术发展所关注的焦点. 诞生在这一背景下的隐私计算技术正在蓬勃发展,隐私 ...
- COUNT(*)计算行数有哪些优化手段
COUNT(*)计算行数有哪些优化手段 --无索引 DROP TABLE T_20170704_COUNT_LHR_01 PURGE; CREATE TABLE T_20170704_COUNT_LH ...
- Apache Flink不止于计算,数仓架构或兴起新一轮变革
作者 | 蔡芳芳 采访嘉宾 | 王峰(莫问) 维基百科的"Apache Flink"词条下,有这么一句描述:"Flink 并不提供自己的数据存储系统,但为 Amazon ...
- android 根据文本计算行数,ios 获取Text行数和每行显示的内容
该方法主要使用了CoreText中的内容,了解更多CoreText的内容请看CoreText系列 下面是具体代码 - (NSArray *)getLinesArrayOfStringInLabel:( ...
最新文章
- 刺客信条奥德赛无法加载库_点评刺客信条起源、奥德赛、英灵殿,哪个最好玩?...
- html,h4,h5的区别,(转)H5和H4的对比听感
- MongoDB 启动 Failed to connect to 127.0.0.1:27017, reason: 由于目标计算机积极拒绝,无法连接。...
- python画图程序有图-python画图程序
- 模p加法和模p乘法学习
- insert exec 语句不能嵌套_走向DBA「MSSQL篇」 - 从SQL语句的角度提高数据库的访问性能...
- 还在搞三层架构?DDD 分层架构了解下!
- evolving checkers players [Fogel and Chellapilla, 2002]
- Excel零基础入门(真对2021版Excel)
- photoshop切片的使用
- 秦小明 第七讲 资产定价模型,股票定价
- 如何认识和投身 Web 3.0?
- 联想服务器出现系统恢复选项,Win10更新系统后开机提示自动修复的常规解决方案...
- Java培训:Java枚举是什么
- android 判断图片的格式的,android判断文件是否是图片文件的方法
- android airplay音乐播放器,您需要知道的关于使用AirPlay播放音乐的一切 | MOS86
- APNS证书制作问题
- Linux驱动调试之修改系统时钟中断定位系统僵死问题
- 红帽linux6.4安装教程,RedHat6.4图文安装教程---Minimal版(详细版)
- Kendo UI 绑定行点击事件