redis 的 HyperLogLog
Redis 在 2.8.9 版本添加了 HyperLogLog 结构。
Redis HyperLogLog 是用来做基数统计的算法
HyperLogLog 的优点是,在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定 的、并且是很小的
HyperLogLog 只会根据输入元素来计算基数,而不会储存输入元素本身
基本命令
1. Pfadd
将所有元素参数添加到 HyperLogLog 数据结构中
PFADD key-name element [element ...]
如果至少有个元素被添加返回 1, 否则返回 0
2.Pfcount
PFCOUNT key [key ...]
返回给定 HyperLogLog 的基数估算值
返回给定 HyperLogLog 的基数值,如果多个 HyperLogLog 则返回基数估值之和
3.Pgmerge
将多个 HyperLogLog 合并为一个 HyperLogLog ,合并后的 HyperLogLog 的基数估算值是通过对所有 给定 HyperLogLog 进行并集计算得出的
PFMERGE dest-key key [key ...]
返回 OK
数据集 {a,b,c,d,e,f,a}, 那么这个数据集的基数集为 {a,b,c,d,e,f}, 基数(不重复元素)为6
算法给出的基数并不是精确的,可能会比实际稍微多一些或者稍微少一些,但会控制在合理的范围之内
可以用于实现记录网站每天访问的独立IP数量这样的一个功能
redis 的 HyperLogLog相关推荐
- python 操作redis之——HyperLogLog (八)
#coding:utf8 import redis # python 操作redis之--HyperLogLog r =redis.Redis(host="33.23.724.12190&q ...
- redis数据结构--hyperloglog
redis数据结构--hyperloglog 1.业务背景介绍现存实现手法以及痛点 公司广告落地页项目的 一个统计pv,uv的需求 第一版实现方案 业务快速增长面临的痛点 2.业务场景调研,bitma ...
- Redis(十)——HyperLogLog 基数统计和 Bitmap位图场景详解
文章目录 Redis(十)--HyperLogLog 基数统计和 Bitmap位图场景详解 1.HyperLogLog 基数统计 2.Bitmap位图场景详解 Redis(十)--HyperLogLo ...
- springboot整合redis实现HyperLogLog统计文章浏览量使用过期策略完成数据库同步
springboot整合redis实现HyperLogLog统计文章浏览量&&使用过期策略完成数据库同步 本文目录 springboot整合redis实现HyperLogLog统计文章 ...
- Redis应用-HyperLogLog
如果你要统计网站的PV,你可以使用Redis计数器就好了,每来一个请求,调用一次incrby即可.但是如果要统计UV就没那么简单呢,它需要去重,当然你肯定想到了Redis中的去重的Set集合,当一个请 ...
- redis的HyperLogLog与布隆过滤器
HyperLogLog与布隆过滤器都是针对大数据统计存储应用场景下的知名算法. HyperLogLog是在大数据量的情况下关于数据基数的空间复杂优化实现,而布隆过滤是在大数据量情况下关于检索一个元素是 ...
- redis的hyperloglog用法
Hyperloglog 什么事基数 A{1,3,5,7,8,9} B{1,3,5,7,8} 基数:不重复的元素,可以接受误差. Redis Hyperloglog基数统计的算法,网页的UV(一个人方 ...
- redis用HyperLogLog计算UV
UV:unique visitor,独立访客,数据去重 DV:distinct value,去重统计,如上面的UV. 用redis的set去重,用户多时,比如微信月活10亿,就会占用很多内存. 用Hy ...
- 怎么往integer型数组添加数据_用户日活月活怎么统计 - Redis HyperLogLog 详解
HyperLogLog 是一种概率数据结构,用来估算数据的基数.数据集可以是网站访客的 IP 地址,E-mail 邮箱或者用户 ID. 基数就是指一个集合中不同值的数目,比如 a, b, c, d 的 ...
最新文章
- markdown如何设置图片大小_Markdown编辑知乎文章的完全攻略
- cvc降噪和主动降噪_市面上的降噪耳机,物理降噪和主动降噪,你会怎么选择?...
- C和指针之数组编程练习8(8皇后问题)
- 计算机科学研究生规划,2019计算机考研备考:计算机科学与技术研究方向及复习规划...
- matlab 数字图像滤波,数字图像处理 (基于Matlab) 滤波
- C++ 空间配置器(allocator)
- Android Studio解决:Caused by: org.gradle.api.internal.plugins.PluginApplicationException: Failed
- 网络蜘蛛Spider的逻辑Logic(一)
- 一种基于复制粘贴的cam350邮票孔拼版教程(一)
- 全国省市县行政区划SQL代码文件
- Ubuntu触摸屏校准
- huawei.xmind
- excel 中的图片删除不了怎么办
- JavaEE项目的三层架构
- 网络传输中的那些编码之-chr和hex(base16)
- Efficient Net
- linux下的lib文件
- 手机动态:摩托罗拉edge s pro搭载骁龙870处理器
- 如何给玩偶建模并让它跳个舞?
- verilog “function”函数一直报错解决办法