当前位置:网站首页>Redis 做网页UV统计
Redis 做网页UV统计
2022-08-01 19:49:00 【Mar丶流年】
前言
首先要明白什么是UV,即独立访客记录(同一个用户多次访问同一个页面,也只算这个页面被这个用户访问过一次),这个要求我们使用的redis数据类型有去重功能。建议使用HyperLogLog实现
使用set实现
假设用户1访问了三次A页面
# 1 代表用户id
sadd A:20220801 1
sadd A:20220801 1
sadd A:20220801 1
统计A页面的UV
# UV = 1
scard A:20220801
使用hash实现
假设用户1访问了三次A页面
# 最后的1填其它的也行,只是用来占位
hset A:20220802 1 1
hset A:20220802 1 1
hset A:20220802 1 1
统计A页面的UV
# UV = 1
hlen A:20220802
使用HyperLogLog实现
HyperLogLog 的优点是,在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定 的、并且是很小的。
假设用户1访问了三次A页面
# 一次性添加三个1进去
pfadd A:20220803 1 1 1
统计A页面的UV
# UV = 1
pfcount A:20220803
边栏推荐
- 我的驾照考试笔记(4)
- 突破边界,华为存储的破壁之旅
- 部署zabbix
- 57:第五章:开发admin管理服务:10:开发【从MongoDB的GridFS中,获取文件,接口】;(从GridFS中,获取文件的SOP)(不使用MongoDB的服务,可以排除其自动加载类)
- 数据库系统原理与应用教程(071)—— MySQL 练习题:操作题 110-120(十五):综合练习
- 第57章 业务逻辑之业务实体与数据库表的映射规则定义
- Oracle排序某个字段, 如果这个varchar2类型的字段有数字也有文字 , 怎么按照数字大小排序?
- Combining two ordered arrays
- 【周赛复盘】LeetCode第304场单周赛
- 30天刷题计划(五)
猜你喜欢
随机推荐
使用微信公众号给指定微信用户发送信息
XSS靶场中级绕过
开源视界 | StreamNative 盛宇帆:和浪漫的人一起做最浪漫的事
PHP 安全最佳实践
DAO development tutorial [WEB3.0]
Mobile Zero of Likou Brush Questions
From ordinary advanced to excellent test/development programmer, all the way through
为你的“架构”安排定期体检吧!
Compose实战-实现一个带下拉加载更多功能的LazyColumn
环境变量,进程地址空间
Greenplum数据库源码分析——Standby Master操作工具分析
网络不通?服务丢包?这篇 TCP 连接状态详解及故障排查,收好了~
面试突击70:什么是粘包和半包?怎么解决?
1个小时!从零制作一个! AI图片识别WEB应用!
部署zabbix
【周赛复盘】LeetCode第304场单周赛
ssh & scp
Compse编排微服务实战
17. Load balancing
Heavy cover special | intercept 99% malicious traffic, reveal WAF offensive and defensive drills best practices









