UV和PV
- UV —— Unique Visitor 独立访客量
同一个用户一天内多次点击页面,只记录一次
- PV —— Page View 页面访问量 / 点击量
只要有用户点击了这个页面,就做记录
PV 与 UV 的比值可以反映出这个网站的用户粘度,也就是平均每个用户点击这个网站的次数是多少
UV 值的大小可能是千万甚至上亿的,直接存储在 Redis 中将十分恐怖,如何解决?
HyperLogLog的用法
- HyperLogLog(HLL)是从LogLog算法派生的概率算法,用于确定非常大的集合的基数,而不需要存储其所有值。
- Redis中的HLL是基于String结构实现的,单个HLL的内存永远小于16kb,低的让人发指!不过作为代价,也的统计值是一个概率值,有0.81%的误差,也就是10000个的情况下,有81个左右的误差,其实已经可以忽略不计了。