腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
视频
用户
沙龙
专栏
专区
综合排序
丨
最热优先
丨
最新优先
时间不限
⑧【
HyperLoglog
】Redis数据类型:
HyperLoglog
个人简介:Java领域新星创作者;阿里云技术博主、星级博主、专家博主;正在Java学习的路上摸爬滚打,记录学习的过程~ 个人主页:.29.的博客 学习社区:进去逛一逛~ ⑧Redis
HyperLoglog
基本操作命令
HyperLoglog
是用来做基数统计的算法,优点在于当输入元素的数量或者体积非常大时,计算基数所需的空间总是固定且很小的。 基数统计:用于统计一个集合中不重复的元素个数,就是对集合去重复后剩余元素的计算 Redis中每个
HyperLoglog
键只需要花费12KB内存,就可以计算接近2^64个不同元素的基数。 但,
HyperLoglog
只会根据输入的元素来计算基数,无法存储输入元素本身,所以无法像集合那样返回输入的各个元素。 key [key ...] # 获取
hyperloglog
的基数数量,可以同时计算多个key的基数数量 pfcount hll1 3. pfmerge 将多个
HyperLoglog
合并成一个 pfmerge
.29.
2023-11-26
320
0
标签:
网站
redis
集合
数据类型
统计
Redis
HyperLogLog
Redis
HyperLogLog
Redis 在2.8.9版本添加了
HyperLogLog
结构。 Redis
HyperLogLog
是用来做基数统计的算法,
HyperLogLog
的优点是,在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定的、并且是很小的。 在Redis里面,每个
HyperLogLog
键只需要花费 12 KB 内存,就可以计算接近 2^64个不同元素的基 数。这和计算基数时,元素越多耗费内存就越多的集合形成鲜明对比。 但是,因为
HyperLogLog
只会根据输入元素来计算基数,而不会储存输入元素本身,所以
HyperLogLog
不能像集合那样,返回输入的各个元素。 什么是基数? 命令 下表列出了redis
HyperLogLog
的基本命令: 序号 命令及描述 1 PFADD key element [element ...]添加指定元素到
HyperLogLog
中。
子润先生
2021-07-02
497
0
标签:
云数据库 Redis®
Redis
HyperLogLog
HyperLogLog
是一种概率算法,提供了不精确的去重计数方案,是有误差的基数统计. 基数统计是用来统计一个集合中不重复的元素个数,例如,统计网站的UV或者网站搜索的关键词数量。 这种方法可以大大节省内存,同时保证误差控制在一定范围内.
HyperLogLog
便是其中一种概率算法. redis中实现的
HyperLogLog
算法提供了两种存储方式; 一种是密集存储,只需要12K内存,
HyperLogLog
是一个很复杂的算法,这里只简单说明下其计算过程. 首先需要准备一定数量的桶,用来记录各桶内元素的数量.
一个架构师
2022-06-20
434
0
标签:
云数据库 Redis®
存储
编程算法
Redis(9)——
HyperLogLog
HyperLogLog
并不是一种新的数据结构(实际类型是字符串类型),而是一种计数算法。而是一种基数算法。 pfadd 添加元素,如果添加成功返回1 127.0.0.1:6379> pfadd 2019-04-29:unique:ids u1 u2 u3 u4 (integer) 1 pfcount 计算一个或多个
HyperLogLog
:6379> pfcount 2019-04-29:unique:ids (integer) 5 pfmerge pfmerge destkey sourcekey [sourcekey ] 计算多个
HyperLoglog
2019-04-29:unique:ids 2019-04-30:unique:ids OK 127.0.0.1:6379> pfcount 2019-04:unique:ids (integer) 7
HyperLogLog
毕竟
HyperLogLog
内存占用量非常小
羊羽shine
2019-05-29
552
0
标签:
编程算法
HyperLogLog
相关命令
通过Redis的
HyperLogLog
对象能高效地统计基数。 利用
HyperLogLog
命令可以在一个键上同时添加多个值。 其中,sourcekey是待合并的对象,可以是一个或多个;destkey是合并后
HyperLogLog
的键,如果合并前destkey不存在,则会新建一个。 4、统计网站访问总人数 利用
HyperLogLog
统计访问人数的方法。 在实际项目里,可能访问列表会很长,用
HyperLogLog
统计的性能比较快,另外还能用较小的存储空间代价来完成通国际访问总人数的工作。
别团等shy哥发育
2023-02-25
457
0
标签:
网站
Redis
HyperLogLog
用法简介
本文链接:https://blog.csdn.net/u014427391/article/details/95992173 (1)
HyperLogLog
简介 在Redis 在 2.8.9 版本才添加了
HyperLogLog
,
HyperLogLog
算法是用于基数统计的算法,每个
HyperLogLog
键只需要花费 12 KB 内存,就可以计算接近 2^64 个不同元素的基数。
HyperLogLog
适用于大数据量的统计,因为成本相对来说是更低的,最多也就占用12kb内存 业务场景,
HyperLogLog
常用于大数据量的统计,比如页面访问量统计或者用户访问量统计 举个例子,假如要统计一个页面的访问量 针对上面大访问量的情况,redis是有实现了
HyperLogLog
算法,
HyperLogLog
这个数据结构的发明人 是Philippe Flajolet 教授 Redis集成的
HyperLogLog
使用语法主要有 当然
HyperLogLog
算法一开始就是为了大数据量的统计而发明的,所以很适合那种数据量很大,然后又没要求不能有一点误差的计算,
HyperLogLog
提供不精确的去重计数方案,虽然不精确但是也不是非常不精确
SmileNicky
2019-08-29
591
0
标签:
编程算法
大数据
云数据库 Redis®
数据结构
存储
Redis之
HyperLogLog
类型解读
基本介绍
HyperLogLog
是用来做基数统计的算法,
HyperLogLog
的优点是,在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定 的、并且是很小的。 但是,因为
HyperLogLog
只会根据输入元素来计算基数,而不会储存输入元素本身,所以
HyperLogLog
不能像集合那样,返回输入的各个元素。 基数是什么? 添加指定元素到
HyperLogLog
中。 2 PFCOUNT key [key ...] 返回给定
HyperLogLog
的基数估算值。 将多个
HyperLogLog
合并为一个
HyperLogLog
pfadd Pfadd 命令将所有元素参数添加到
HyperLogLog
数据结构中。 pgmerge Pgmerge 命令将多个
HyperLogLog
合并为一个
HyperLogLog
,合并后的
HyperLogLog
的基数估算值是通过对所有 给定
HyperLogLog
进行并集计算得出的
一个风轻云淡
2023-10-15
307
0
标签:
redis
集合
数据
算法
统计
Redis命令详解:
HyperLogLog
HyperLogLog
是Redis的高级数据结构,它在做基数统计的时候非常有用,每个
HyperLogLog
的键可以计算接近264不同元素的基数,而大小只需要12KB。 如果指定的key不存在,那么就创建一个空的
HyperLogLog
数据结构。该命令也支持不指定元素而只指定键值,如果不存在,则会创建一个新的
HyperLogLog
数据结构,并且返回1;否则返回0。 对于多个key,返回的是多个
HyperLogLog
并集的近似基数,它是通过将多个
HyperLogLog
合并为一个临时的
HyperLogLog
,然后计算出来的。
HyperLogLog
可以用很少的内存来存储集合的唯一元素。(每个
HyperLogLog
只有12K加上key本身的几个字节)
HyperLogLog
的结果并不精准,错误率大概在0.81%。 除了这三个命令,我们还可以像操作String类型的数据那样,对
HyperLogLog
数据使用SET和GET命令。关于
HyperLogLog
的原理以及其他细节,我将在明天的文章中进行介绍,敬请期待。
Jackeyzhe
2020-03-11
605
0
标签:
云数据库 Redis®
redis 学习(14)--
HyperLogLog
HyperLogLog
什么是
HyperLogLog
HyperLogLog
是基于
HyperLogLog
算法的一种数据结构,该算法可以在极小空间完成独立数量统计。 在本质上还是字符串类型。 向
HyperLogLog
中添加元素 pfcount key1 [key2...] 计算
HyperLogLog
的独立总数 pfmerge destKey key1 [key2...] 合并多个
hyperLogLog
到destKey中 演示 ? A:这里要考虑两个因素:
hyperloglog
的错误率为:0.81%,存储的数据不能百分百准确。
hyperloglog
不能取出单条数据。api 中也没有相关操作。 如果你没有这两个方面的顾虑,那么用
HyperLogLog
来存储大规模数据,还是非常不错的。
希希里之海
2019-06-03
442
0
标签:
编程算法
存储
api
Redis 如何使用
HyperLogLog
但是,因为
HyperLogLog
只会根据输入元素来计算基数,并不会储存输入元素本身,所以
HyperLogLog
不能像集合那样能返回输入的各个元素。 2. 什么是基数? 对于多个键,返回的是多个
HyperLogLog
并集的基数估算值,通过将多个
HyperLogLog
合并为一个临时的
HyperLogLog
计算基数估算值。 可以使用
HyperLogLog
只使用很少且恒定的内存来计算集合的不同元素个数。每个
HyperLogLog
只用 12K 加上键本身的几个字节。 时间复杂度:O(N),N是要合并的
HyperLogLog
的数量。 PFMERGE 命令将多个
HyperLogLog
合并为一个
HyperLogLog
。 合并后的
HyperLogLog
的基数估算值是通过对所有给定
HyperLogLog
进行并集计算得出的。计算完的结果保存到指定的键中。
smartsi
2019-12-02
967
0
标签:
云数据库 Redis®
数据结构
缓存
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档