最新动态
15、网站统计数据
2024-11-14 21:42

UV(Unique Visitor

15、网站统计数据

  • 独立访客,需通过用户IP排重统计数据
  • 每次访问都要进行统计
  • HyperLogLog,性能好,且存储空间小 DAU(Dail Active User
  • 日活跃用户,需通过用户ID排重统计数据
  • 访问过一次,则认为其活跃(自定义
  • Bitmap,性能好,且可以统计精准的结果

1、RedisKey

 

2、Service

由于使用Redis存储数据,所以不需要访问DAO层,直接在Service层处理数据即可。 DataService.java

UV

1、将指定IP计入UV 通过new SimpleDateFormat(“yyyyMMdd”) 先指定日期格式

 

2、统计:统计指定日期范围 1)传入的日期参数,是Data类 2)由于要统计日期范围内的数据,所以要生成一组Rediskey:List< String> keyList,其中用到了Calendar类对日期进行循环 3)合并数据 4)调用 redisTemplate.opsForHyperLogLog().size() 获得统计结果

 
DAU

1、根据 userId 将指定用户计入DAU

 

2、统计指定日期范围内的DAU 与calculateUV() 方法类似,不同的是要对 区间范围内的数据进行OR操作,且connection.bitOp()要求传入RedisKey的Byte数组

 

3、Controller

@DateTimeFormat(pattern = “yyyy-MM-dd”) :Date start,是对日期参数的处理。 return “forward:/data”:forward请求转发。声明该方法只能处理一半,还需要另外一个方法接着处理,请求转发到了 “/data” 路径,由于还是同一个请求,所以"/data"路径也要支持 RequestMethod.POST 请求。

 

4、拦截器

每次请求都要记录一下数据,所以这里使用的是拦截器

 

配置 DataInterceptor,拦截除静态资源之外的所有请求 WebMvcConfig.java

    以上就是本篇文章【15、网站统计数据】的全部内容了,欢迎阅览 ! 文章地址:http://www78564.xrbh.cn/quote/23719.html 
     动态      相关文章      文章      同类文章      热门文章      栏目首页      网站地图      返回首页 迅博思语移动站 http://www78564.xrbh.cn/mobile/ , 查看更多   

loading