UV(Unique Visitor)
- 独立访客,需通过用户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/ , 查看更多
动态 相关文章 文章 同类文章 热门文章 栏目首页 网站地图 返回首页 迅博思语移动站 http://www78564.xrbh.cn/mobile/ , 查看更多