返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >Redis特殊数据类型HyperLogLog基数统计算法讲解
  • 489
分享到

Redis特殊数据类型HyperLogLog基数统计算法讲解

2024-04-02 19:04:59 489人浏览 独家记忆
摘要

目录Redis HyperLogLog基数统计一、pfadd二、pfcount三、pfmergeRedis HyperLogLog基数统计 HyperLogLog 是用来做基数统计的

Redis HyperLogLog基数统计

HyperLogLog 是用来做基数统计的算法

先了解下什么是基数。

比如数据集{1, 3, 5, 7, 5, 7, 8},那么这个数据集的基数集为{1, 3, 5 ,7, 8},基数(不重复元素)为5。

如果,现在需要统计一下网页的UV,那么就会涉及到去重了,这种场景就很适合用HyperLogLog。

这不就是set集合嘛?我用set来得出不重复的元素也可以呀。

没错,是可以,但是当数据量非常大的时候,你这个set是不是会占用非常大的内存呢?
如果用HyperLogLog来处理就好了,因为它计算基数所需要的空间是一定的,只要12kb,就可以计算接近 2^64 个不同元素的基数。

但是注意在这个数量级下,是会存在0.81%的错误率的,所以说具体还得看业务是否可以接受这样的错误率。
像上面说的统计UV的场景,这点错误率是可以忽略的。

一、pfadd

将所有元素参数添加到 HyperLogLog 数据结构中。

pfadd mypf 1 2 3 a b c 3 4 5 c d a

二、pfcount

返回给定 HyperLogLog 的基数估算值。

pfcount mypf

可以看到,返回的是9,也就是不重复的元素数量有9个。

三、pfmerge

将多个 HyperLogLog 合并为一个 HyperLogLog ,合并后的 HyperLogLog 的基数估算值是通过对所有 给定 HyperLogLog 进行并集计算得出的。

pfmerge mypftotal mypf3 mypf4

mypf3、mypf4合并到mypftotal 上。

以上就是Redis特殊数据类型HyperLogLog基数统计算法讲解的详细内容,更多关于Redis HyperLogLog基数统计的资料请关注编程网其它相关文章!

--结束END--

本文标题: Redis特殊数据类型HyperLogLog基数统计算法讲解

本文链接: https://lsjlt.com/news/150243.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Redis特殊数据类型HyperLogLog基数统计算法讲解
    目录Redis HyperLogLog基数统计一、pfadd二、pfcount三、pfmergeRedis HyperLogLog基数统计 HyperLogLog 是用来做基数统计的...
    99+
    2024-04-02
  • Redis特殊数据类型bitmap位图
    目录Redis数据类型bitmap位图一、setbit二、getbit三、bitcountRedis数据类型bitmap位图 bitmap数据结构,是基于二进制位来进行操作记录的,只...
    99+
    2024-04-02
  • 详解redis的三种特殊数据类型
    14天学习训练营导师课程: 郑为中《Vue和SpringBoot打造假日旅社管理系统》 努力是为了不平庸~ 学习有些时候是枯燥的,但收获的快乐是加倍的,欢迎记录下你的那些努力时刻(学习知识点/题解/项目实操/遇到的bug/等等),在分享的同...
    99+
    2023-08-20
    redis java 数据库
  • redis中的三种特殊数据类型
    本篇内容主要讲解“redis中的三种特殊数据类型”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“redis中的三种特殊数据类型”吧!redis 三种特殊的数据类型...
    99+
    2024-04-02
  • Redis中有哪些特殊的数据类型
    这期内容当中小编将会给大家带来有关Redis中有哪些特殊的数据类型,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。前言Reids 在 Web 应用的开发中使用非常广泛,几乎...
    99+
    2024-04-02
  • Redis中的特殊数据类型有哪些
    这篇文章将为大家详细讲解有关Redis中的特殊数据类型有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Redis除了5种基础数据类型,还有三种特殊的数据类型,分别是 ...
    99+
    2024-04-02
  • Redis特殊数据类型Geospatial地理空间
    目录Redis特殊数据类型Geospatial地理空间一、geoadd二、geopos三、geodist四、georadius五、georadiusbymember六、geohash...
    99+
    2024-04-02
  • Redis的特殊数据类型如何使用
    这篇文章主要介绍“Redis的特殊数据类型如何使用”,在日常操作中,相信很多人在Redis的特殊数据类型如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Redis的特殊数据类型如何使用”的疑惑有所帮助!...
    99+
    2023-06-29
  • Redis特殊数据类型Geospatial怎么使用
    这篇文章主要介绍“Redis特殊数据类型Geospatial怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Redis特殊数据类型Geospatial怎么使用”文章能帮助大家解决问题。Redi...
    99+
    2023-06-30
  • Redis特殊数据类型之Geospatial怎么应用
    今天小编给大家分享一下Redis特殊数据类型之Geospatial怎么应用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收...
    99+
    2024-04-02
  • Redis特殊数据类型之stream怎么应用
    这篇文章主要介绍“Redis特殊数据类型之stream怎么应用”,在日常操作中,相信很多人在Redis特殊数据类型之stream怎么应用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大...
    99+
    2024-04-02
  • Redis三种特殊数据类型的具体使用
    目录一、HyperLogLog 基数统计1.1 什么是基数?1.2 使用基数统计的好处1.3 应用场景1.4 注意事项 1.5 基本命令1.6 使用二、Geospatial...
    99+
    2024-04-02
  • 简单讲解Python中的数字类型及基本的数学计算
    Python有四种类型的数字: 1.整型 a = 2 print a 2.长整型 b = 123456789 print b 3.浮点数 c = 3.2E2 ...
    99+
    2022-06-04
    类型 数学 简单
  • Python中的基本数据类型讲解
    一、数据类型分类 1、按存值个数区分 单个值:数字,字符串多个值(容器):列表,元组,字典,集合 2、按可变不可变区分 可变:列表[],字典{},集合{}不可变:数字,字符串,元组(...
    99+
    2024-04-02
  • java数据类型和运算符的深入讲解
    一.整型变量 1.基本格式 int 变量名 = 初始值; 代码示例: public class CSDN { public static void main(String[]...
    99+
    2024-04-02
  • 解析MySQL数据类型:探索不同基本数据类型的特性和应用
    MySQL数据类型详解:探索各种基本数据类型的特点与用途 引言:在数据库应用程序中,数据的存储和处理是非常重要的。MySQL作为一个流行的开源关系型数据库管理系统,提供了多种数据类型来满足不同数据的存储需求。本文将深入探讨MyS...
    99+
    2024-01-29
    MySQL 数据类型 特点
  • Redis的9种数据类型用法解读
    目录redis支持丰富的数据类型String 字符串应用场景内部编码Hash 哈希表应用场景内部编码     List 列...
    99+
    2023-02-16
    Redis数据类型 Redis9种数据类型 Redis数据类型用法
  • Redis基本数据类型和操作方法有哪些
    本文小编为大家详细介绍“Redis基本数据类型和操作方法有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“Redis基本数据类型和操作方法有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起...
    99+
    2022-11-30
    redis
  • Go语言特点及基本数据类型使用详解
    目录一、Golang 简介1.Go 语言的特点2.Golang 的变量作用域3.Golang 执行流程的两种方式二、Golang 的基本操作1.在 Linux 上安装 Golang ...
    99+
    2024-04-02
  • JavaScript的基础语法和数据类型详解
    目录引入JavaScript1.内部标签2.外部引入基础语法数据类型number字符串布尔值逻辑运算比较运算符数组对象流程控制Map和Setiterator总结引入JavaScrip...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作