码迷,mamicode.com
首页 > 其他好文 > 详细

Redis学习-09 hyperloglog基本操作

时间:2020-08-01 09:20:14      阅读:89      评论:0      收藏:0      [点我收藏+]

标签:block   重复   允许   影响   lazy   red   bsp   实现   count   

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基本操作

标签:block   重复   允许   影响   lazy   red   bsp   实现   count   

原文地址:https://www.cnblogs.com/gslgb/p/13412946.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!