开发者学堂课程【Redis 入门到精通(基础篇):数据类型-set 实现网站访问量统计】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/764/detail/13388
数据类型-set 实现网站访问量统计
内容介绍
一、Set 类型应用场景
二、Tip11
一、Set 类型应用场景
业务场景
公司对旗下新的网站做推广,统计网站的PV(访问量),UV(独立访客),IP(独立IP)。
PV:网站被访问次数,可通过刷新页面提高访问量
UV:网站被不同用户访问的次数,可通过cookie统计访问量,相同用户切换IP地址,UV不变
IP:网站被不同IP地址访问的总次数,可通过IP地址统计访问量,相同IP不同用户访问,IP不变
解决方案
●利用set集合的数据去重特征,记录各种访问数据
●建立string类型数据,利用incr统计日访问量 (PV)
●建立set模型,记录不同cookie数量(UV)
●建立set模型,记录不同IP数量(IP)
二、Tip11
Redis 应用于同类型数据模型的快速去重
网站的访问量问题,很多公司都会制作自己的网站,很多更偏向于主流网站建设,相比较一些加工类型的网站可能不重要,但是对于互联网公司,主打产品就是网站,对于一个网站,被用户访问量就成为一个重要的衡量指标,主要衡量的指标是PV,UV,IP,如果说这三类都比较好的话,
那么网站就会有一个比较好的网站运营效果,针对这些数据如何去做统计,对于PV来说,指的是单次访问次数,也就是点开一个页面或者打开一个页面就算一次访问次数,这个是网站内部的,而UV指的是同一个用户多次访问,只记录一次,使用cookie 进行识别,还有就是网站被不同IP地址访问的总访问次数,比如说一个网吧,对外呈现的是一个IP地址,所有人访问这个网站,但是只记录一次。
这三个怎样统计呢,利用我们的数据模型特征就可以实现,PV的访问我们使用string类型就可以实现,利用计数器就可以完成;
set模型进行记录 cookie 和 IP,我们可以使用set模型做一个重复性的过滤。
接下来进行操作,sadd ips 1.2.3.4,回车,得到一个独立IP,sadd ips 2.3.4.5,回车,得到第二个独立IP,相同的IP再次访问,发现进不来数据,最后进行查看所有的IP,scard ips,得到访问IP为2,一共有两个独立IP访问,对于 cookie 也是一样的,对于前面IP地址如何得出那就是程序需要解决的问题,不是我们 redis 关心的问题,利用这种形式就可以做数据的统计,这就是我们 tip11 的解决方案。
我们利用 redis 的 set 模型就可以去做同类型数据的一个快速去重,这个跟之前的权限那个还不太一样,完全就是就是运用数据特征做数据过滤用的。