Redis之使用HyperLogLog统计网站UV

一句话:HyperLogLog用来统计一个很大很大的数据集(海量数据)的基数,是一个占用空间极低的set,省空间版的set

Redis在2.8.9版本中添加了HyperLogLog数据结构

1.区分UV和PV:

UV:Unique Vistor    独立访问量    1天内同一个用户多次访问该网站,只记录一次

PV:Page View  页面访问量,访问一次页面,记录一次,多次打开这个页面,记录多次PV,用来衡量网站的流量

所以PV往往会比UV大,UV/PV这个比值可以看出来一个用户访问这个网站是点完一次就走,还是在这个网站中浏览了很多页面

2.什么是基数?

一个数据集是{1,3,5,7,5,7,8},那么这个数据集的基数集就是{1,3,5,7,8},这个数据集的基数就是5(也就是说数据集去重后的元素个数

所以HyperLogLog和Set很像,但是如果一条key-value键值对的value是set,当set中几百万条数据的时候,这条key-value键值对很耗费空间

3.为什么用HyperLogLog来统计基数而不是用其他的来统计呢?节省内存

比如统计1亿个数据的基数,如果用set来存储这1亿个数据,占用的空间内存非常大,但是

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值