UV统计量

UV统计

UVUnique Visitor,即独立访客量,是指通过互联网访问、浏览该网页的自然人。一天内同一个用户多次访问该网站,只会记录一次。

PVPage View,即页面访问量或点击量,用户每访问网站的一个页面,记录一次PV,用户多次打开页面,则记录多次PV,通常用来衡量一个网站的流量。

这两个统计的数值的大小与比值对于衡量一个网站的优劣具有一定的可靠性。比如说,一些营销网站为了增加用户浏览量,会设置大量的小广告迫使用户去点击,然而当用户点击进去查看到内容不感兴趣的时候就会立马关闭或退出网站,如此以来,该网站的UV和PV之间的比值会很大,说明该网站的质量不是很高。相反,当一些优质网站的UV与PV的比值会很小,因为其内容的品质较好,能够吸引用户的眼球,用户会主动访问网站中的其他页面来获取信息。但是相比于PV,UV的统计会更具有价值。

UV统计在服务端实现起来相对比较麻烦,因为判断该用户是否已经统计被过,需要将统计过的用户信息保存。但是如果每个访问的用户都保存在Redis中,其数据量是相当恐怖的。

这是就不得不提到一个算法来解决这个问题了。

Hyperloglog(HLL)是从Loglog算法派生出的概率算法,用于确定覅长达的集合的基数,而不需要存储其所有值。

而Redis中的HLL是基于string结构实现的,其测量结构虽然是概率性的,但是只有小于0.81%的误差(对于UV统计可以完全忽略),并且其单个HLL的内存永远小于16kb

Redis HyperLogLog 命令

下图为Redis中Hyperloglog的使用命令

image-20230529165701947

下表列出了 redis HyperLogLog 的基本命令:

序号命令及描述
1PFADD key element [element …] 添加指定元素到 HyperLogLog 中。
2PFCOUNT key [key …] 返回给定 HyperLogLog 的基数估算值。
3PFMERGE destkey sourcekey [sourcekey …] 将多个 HyperLogLog 合并为一个 HyperLogLog
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值