springboot项目下关于网站访问量UV统计

  • Post author:
  • Post category:其他




springboot项目下关于网站访问量UV统计

例,根据某篇文章的id,获取该文章一天内被浏览的次数,且不允许存在恶意刷新浏览次数



了解什么是UV统计

要想实现该功能,首先得了解什么是UV,PV,IP

PV:页面访问量,即PageView,用户每次对网站的访问均被记录,用户对同一页面的多次访问,访问量累计。

UV:独立访问用户数:即UniqueVisitor,访问网站的一台电脑客户端为一个访客。00:00-24:00内相同的客户端只被计算一次。

IP:(独立IP)1天之内(00:00~24:00),访问网站的不重复的IP数。



实现方案,利用redis的hyperloglog+获取访问者IP地址+文章ID


HyperLogLog


Redis 提供了 HyperLogLog 数据结构就是用来解决这种统计问题的。HyperLogLog 提供不精确的去重计数方案,虽然不精确但是也不是非常不精确,标准误差是 0.81%,这样的精确度已经可以满足上面的 UV 统计需求了。



参考资料


Spring Boot:高并发下浏览量入库设计



高并发文章浏览量计数系统设计



应用 4:四两拨千斤——Redis HyperLogLog



版权声明:本文为qq_35080796原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。