首页
学习
活动
专区
圈层
工具
发布
综合排序最热优先最新优先
时间不限
⑧【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
3200
标签:
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
4970
标签:
Redis HyperLogLog
HyperLogLog是一种概率算法,提供了不精确的去重计数方案,是有误差的基数统计. 基数统计是用来统计一个集合中不重复的元素个数,例如,统计网站的UV或者网站搜索的关键词数量。 这种方法可以大大节省内存,同时保证误差控制在一定范围内.HyperLogLog便是其中一种概率算法. redis中实现的HyperLogLog算法提供了两种存储方式; 一种是密集存储,只需要12K内存, HyperLogLog是一个很复杂的算法,这里只简单说明下其计算过程. 首先需要准备一定数量的桶,用来记录各桶内元素的数量.
一个架构师
2022-06-20
4340
标签:
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
5520
标签:
HyperLogLog相关命令
通过Redis的HyperLogLog对象能高效地统计基数。 利用HyperLogLog命令可以在一个键上同时添加多个值。 其中,sourcekey是待合并的对象,可以是一个或多个;destkey是合并后HyperLogLog的键,如果合并前destkey不存在,则会新建一个。 4、统计网站访问总人数 利用HyperLogLog统计访问人数的方法。 在实际项目里,可能访问列表会很长,用HyperLogLog统计的性能比较快,另外还能用较小的存储空间代价来完成通国际访问总人数的工作。
别团等shy哥发育
2023-02-25
4570
标签:
Redis HyperLogLog用法简介
本文链接:https://blog.csdn.net/u014427391/article/details/95992173 (1)HyperLogLog简介 在Redis 在 2.8.9 版本才添加了 HyperLogLogHyperLogLog算法是用于基数统计的算法,每个 HyperLogLog 键只需要花费 12 KB 内存,就可以计算接近 2^64 个不同元素的基数。 HyperLogLog适用于大数据量的统计,因为成本相对来说是更低的,最多也就占用12kb内存 业务场景,HyperLogLog常用于大数据量的统计,比如页面访问量统计或者用户访问量统计 举个例子,假如要统计一个页面的访问量 针对上面大访问量的情况,redis是有实现了HyperLogLog算法,HyperLogLog 这个数据结构的发明人 是Philippe Flajolet 教授 Redis集成的HyperLogLog使用语法主要有 当然HyperLogLog算法一开始就是为了大数据量的统计而发明的,所以很适合那种数据量很大,然后又没要求不能有一点误差的计算,HyperLogLog 提供不精确的去重计数方案,虽然不精确但是也不是非常不精确
SmileNicky
2019-08-29
5910
标签:
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
3070
标签:
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
6050
标签:
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
4420
标签:
Redis 如何使用HyperLogLog
但是,因为 HyperLogLog 只会根据输入元素来计算基数,并不会储存输入元素本身,所以 HyperLogLog 不能像集合那样能返回输入的各个元素。 2. 什么是基数? 对于多个键,返回的是多个 HyperLogLog 并集的基数估算值,通过将多个 HyperLogLog 合并为一个临时的 HyperLogLog 计算基数估算值。 可以使用 HyperLogLog 只使用很少且恒定的内存来计算集合的不同元素个数。每个 HyperLogLog 只用 12K 加上键本身的几个字节。 时间复杂度:O(N),N是要合并的HyperLogLog的数量。 PFMERGE 命令将多个 HyperLogLog 合并为一个 HyperLogLog。 合并后的 HyperLogLog 的基数估算值是通过对所有给定 HyperLogLog 进行并集计算得出的。计算完的结果保存到指定的键中。
smartsi
2019-12-02
9670
标签:
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档