一次点击就是在数据库增加一条记录,即某IP用户在某时间点击某条新闻。
楼主所说的有效点击就是三小时为一周期,即插入某IP用户在某时间点击某条新闻这条记录前,判断上一次该IP用户点击时间是否为三小时之前,如果不是,则该记录不插入。
上述为业务逻辑,具体实现需要根据数据量和访问量,以及统计需求决定。建议采用方式为每次点击均进行记录,在统计时进行判断处理。因为你这个3小时的有效时间是很有可能变化的。
记录下用户最后有效统计的时间,
当用户单击的时候判断记录的时间与现在的时间是否差别在3小时以上,如果在 更新最后有效统计的时间 统计一次
在对数据库造成压力的情况,用cookies记录用户上次浏览时间,COOKIES包括对应的新闻ID,浏览时间,再次点点击的时候判断
简单的话,在客户端记录一个有效期为3h的cookie,复杂点的话,在服务端记录访客ip和访问时间。
cookie不行,客户端一清空就傻了。所以还是用sql的方式或者缓存,我觉得最好能设计一张表来对这个进行统计,一次点击一条数据
每三个小时太长了吧,两个小时之后我点击新闻,难道新闻的点击量不该增加吗,好像思路有问题吧
你只能是想想如何解决刷新闻,时间间隔太长了
IP加上一些用户标识之类的