前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Redis(9)——HyperLogLog

Redis(9)——HyperLogLog

作者头像
羊羽shine
发布2019-05-29 18:37:42
3670
发布2019-05-29 18:37:42
举报
文章被收录于专栏:Golang开发

HyperLogLog并不是一种新的数据结构(实际类型是字符串类型),而是一种计数算法。而是一种基数算法。

pfadd

pfadd key elemnet [element]pfadd 添加元素,如果添加成功返回1

代码语言:javascript
复制
127.0.0.1:6379> pfadd 2019-04-29:unique:ids u1 u2 u3 u4
(integer) 1
pfcount

计算一个或多个HyperLogLog的独立总数

代码语言:javascript
复制
127.0.0.1:6379> pfcount 2019-04-29:unique:ids
(integer) 4
127.0.0.1:6379> pfadd 2019-04-29:unique:ids u1 u2 u3 u5
(integer) 1
127.0.0.1:6379> pfcount 2019-04-29:unique:ids
(integer) 5
pfmerge
代码语言:javascript
复制
pfmerge destkey sourcekey [sourcekey ]

计算多个HyperLoglog的并集并赋值给destkey

代码语言:javascript
复制
127.0.0.1:6379> pfadd 2019-04-30:unique:ids u4 u2 u3 u6 u7
(integer) 1
127.0.0.1:6379> pfmerge 2019-04:unique:ids 2019-04-29:unique:ids 2019-04-30:unique:ids
OK
127.0.0.1:6379> pfcount 2019-04:unique:ids
(integer) 7

HyperLogLog 内存占用量非常小,但是存在一定误差率,redis官方给出的数字是0.81%的失误率,开发中进行数据选型需要确认如下两条即可: 只是为了计算独立总数,不需要获取单条数据 可以容忍一定误差率。毕竟HyperLogLog 内存占用量非常小

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019.04.29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • pfadd
  • pfcount
  • pfmerge
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档