Redis学习-09 hyperloglog基本操作

hyperloglog主要用来做计数统计,采用了一种基数统计的算法来实现。其中不存在重复值。

例如网页的浏览量,微信文章的阅读量,同一个用户浏览同一个页面,只记录一次浏览次数即可。传统的做法是用一个set集合保存用户的id信息,这样带来的问题是随着访问次数的增多,这个set集合的内存会很大,影响运行效率。

而用redis的hyperloglog 可以存放 2^64 个不同的用户id数据,占用的内存大小是固定的,仅12K。很简单方便就实现了计数的功能。

官方说他会有0.81%的错误率,但可忽略不计

如果允许容错,那一定可以使用hyperloglog

如果不允许容错,则不能用这个,还是用set或者自己的数据类型

主要的命令有三个:

pfadd hll a b c a  #增加hll 其中的成员为 a b c,成功则返回1

pcount hll #返回hll中的成员数量 

pfmerge hll3 hll2 hll #合并hll 和hll2到 hll3 

 Redis学习-09 hyperloglog基本操作

相关推荐