Redis中3大特殊数据结构(2)-HyperLogLog

news2024/9/28 13:25:24

HyperLogLog算法是法国人Philippe Flajolet 教授发明的一种基数计数概率算法,每个 HyperLogLog 键只需要花费 12 KB 内存,就可以计算接近 2^64 个不同元素的基数。HyperLogLog 适用于大数据量的去重统计,HyperLogLog 提供不精确的去重计数方案,虽然不精确但是也不是非常不精确,标准误差是 0.81%, 因次成本相对来说是很低的,最多也就占用 12kb 内存,在 Redis 在 2.8.9 版本才添加了 HyperLogLog。

1.pfadd key element [element ]

添加成功影响基数估值则返回1否则返回0

pfadd keyword a b c d e f g
pfadd keyword e

在这里插入图片描述

2.pfcount key [key ]

统计key的基数值,返回值是一个带有 0.81% 标准错误(standard error)的近似值

pfcount keyword  #a-g  7个
pfadd word c d e f g h i j k
pfcount word  #c-k  9个
pfcount keyword word  #a-k  11个

在这里插入图片描述

3.pfmerge destkey sourcekey [sourcekey]

取多个key的并集

127.0.0.1:6379> pfmerge keyword word   #a-k
OK
127.0.0.1:6379> pfcount keyword
(integer) 11

在这里插入图片描述

4.总结

常用于允许容错的大数据量统计,如统计注册 IP 数,统计页面实时 UV 数,统计每日访问 IP 数,统计用户每天搜索不同词条的个数
统计在线用户数,统计PV 数…
UV(Unique visitor): 是指从00:00-24:00内相同的客户端的单次或者多次访问标记为一次访问。
PV(Page View):即页面浏览量或点击量,相同客户端的每次访问都会使得统计量+1.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/688209.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于Java+Swing实现餐厅点餐系统

基于JavaSwing实现餐厅点餐系统 一、系统介绍二、系统展示1.主页2.点菜3.下单4.结算5.销售情况(管理员) 三、系统实现四、其他系统五、获取源码 一、系统介绍 该系统针对两个方面的用户,一个是用餐客户,另一个是餐厅管理员。将功…

iOS 17 beta 2有哪些BUG?iOS 17 beta 2推荐升级吗?

虽然iOS 17 beta 2 带来了大量的功能更新,但毕竟是测试版,海量的适配BUG也一同随之而来。 想升级iOS 17 beta 2的用户不妨先查看下目前存在的问题汇总! 一:存储空间更小了 升级beta1后存储空间缩小了大概3G左右,bet…

k8s网络通信

详解Kubernetes网络模型 Kubernetes 是为运行分布式集群而建立的,分布式系统的本质使得网络成为 Kubernetes 的核心和必要组成部分,了解 Kubernetes 网络模型可以使你能够正确运行、监控和排查应用程序故障。 网络所涉及的内容很多,拥有许多…

人人都能生成火爆全网的最不像二维码的二维码!

Sealos 公众号已接入了 GPT-4,完全免费!欢迎前来调戏👇 最近有人展示了使用 Stable Diffusion 创建的艺术二维码。这些二维码是使用定制训练的 ControlNet模型生成的。 但是操作门槛有点高。 你需要 GPU,还需要学习如何使用 Stabl…

diffusion model(二)—— DDIM技术小结

论文地址:Denoising Diffusion Implicit Models github地址:https://github.com/ermongroup/ddim 背景 去噪扩散概率模型 (DDPM1) 在没有对抗训练的情况下实现了高质量的图像生成,但其采样过程依赖马尔可夫假设,需要较多的时间…

SoapUI实践:自动化测试、压力测试、持续集成

因为项目的原因,前段时间研究并使用了 SoapUI 测试工具进行自测开发的 api。下面将研究的成果展示给大家,希望对需要的人有所帮助。 如果你想学习自动化测试,我这边给你推荐一套视频,这个视频可以说是B站播放全网第一的自动化测试…

Android View的渲染过程

原文链接 Android View的渲染过程 对于安卓开发猿来说,每天都会跟布局打交道,那么从我们写的一个布局文件,到运行后可视化的视图页面,这么长的时间内到底 发生了啥呢?今天我们就一起来探询这一旅程。 View tree的创建…

A Survey on In-context Learning

这是LLM系列相关综述文章的第二篇,针对《A Survey on In-context Learning》的翻译。 上下文学习综述 摘要1 引言2 概述3 定义和公式4 模型预热4.1 监督上下文训练4.2 半监督上下文训练 5 示例设计5.1 示例组织5.1.1 示例选择5.1.2 示例排序 5.2 示例形式化5.2.1 指…

Segment Anything Model Geospatial (SAM-Geo) 创建交互式地图

SAM-Geo是一个用于地理空间数据的Python 包,可在 PyPI 和 conda-forge 上使用。本节教程是SAM-Geo官网的一个教程,根据输入提示范围创建mask遮罩。后面还有一种基于提示词创建的方式,如只输出房屋、道路、树木等,下一期我们专门写…

IEEE Transactions的模板中,出现subfig包和fontenc包冲突的问题,怎么解决?

IEEE Transactions的模板中,出现subfig包和fontenc包冲突的问题,怎么解决? 本文章记录如何在IEEE Transactions的模板中,出现了subfig包和fontenc包冲突的问题,该怎么解决。 目录 IEEE Transactions的模板中&#xff…

ubuntu系统解压.rar文件问题与解决办法

ubuntu20.04解压rar文件 问题解决办法 问题 在ubuntu系统中,直接解压rar文件可能会报错,或者一直在提取文件中,无法结束。 例如直接右件该rar文件,将文件提取到此处 一直显示这个,无法结束 解决办法 需要安装一些软…

架构师进阶之路 - 架构优化为什么难

目录 业务迭代和技术优化难以兼顾 缺少“上帝”视角思维 系统架构腐化 缺少架构师视角 系统迭代机制 设计规范把控 最近在组织团队内的系统架构优化,总而言之就是难,至于为什么难我这边总结了以下六个方面,记录一下自己的架构师进阶之路吧。&…

css基础知识九:说说flexbox(弹性盒布局模型),以及适用场景?

一、是什么 Flexible Box 简称 flex,意为”弹性布局”,可以简便、完整、响应式地实现各种页面布局 采用Flex布局的元素,称为flex容器container 它的所有子元素自动成为容器成员,称为flex项目item 容器中默认存在两条轴&#xf…

微服务04 分布式搜索引擎 elasticsearch DSL数据聚合 自动补全 数据同步 集群

微服务03 分布式搜索引擎 elasticsearch ELK kibana RestAPI 索引库 DSL查询 RestClient 黑马旅游 分布式搜索引擎03 1.数据聚合 聚合(aggregations)可以让我们极其方便的实现对数据的统计、分析、运算。例如: 什么品牌的手机最受欢迎&#x…

【Redis】Redis cluster 集群原理

前言 介绍优点: redis cluster集群模式,既拥有哨兵模式高可用、自动主从切换、高性能的特点,又解决了其只有单主结点承载数据量小的缺点。集群模式可以有多主结点,数据分散到多个主节点上,可以动态扩容。 槽分区的特点…

Rust in Action笔记 第七章 文件和存储

serde 库提供序列化(serialize)和反序列化(deserialize)的特征,通过derive生成,可以把rust的自定义类型(struct)转换成多种常用的兼容类型例如JSON、CBOR、bincode,用于在…

Hive函数(二)

1、炸裂函数 1.1、UDTF概述 定义: UDTF(Table-Generating Functions),接收一行数据,输出一行或多行数据。 1.1.1、explode(ARRAY a) 功能: 语法: select explode(array("a","b",&q…

多商户商城系统源码-加速度jsudo

为了能顺应时代的改变,很多企业都想要搭建一个类似天猫京东类型的b2b2c商城平台,但苦于没有专业的技术,所以他们都会选择成熟的b2b2c商城系统,但市面上的商城系统如此的多,如何选择呢?下面jsudo小编就来教…

函数式编程相关概念介绍

什么是函数式编程 函数式编程(Functional Programming)也称函数程序设计是一种编程范式,它将电脑运算视为函数运算,并且避免使用程序状态以及可变物件。 在js中,函数是一等公民,函数本身既可以作为其他函数…

spark12-13-14

12. Task线程安全问题 12.1 现象和原理 在一个Executor可以同时运行多个Task,如果多个Task使用同一个共享的单例对象,如果对共享的数据同时进行读写操作,会导致线程不安全的问题,为了避免这个问题,可以加锁&#xff…