redis:HyperLogLog(概念、命令)
时间:2020-07-12
本文章向大家介绍redis:HyperLogLog(概念、命令),主要包括redis:HyperLogLog(概念、命令)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
1、概念
(1)概念
- 用来做基数统计的算法,在输入的元素的数量或者体积非常大的时候,计算基数所需的空间总是固定的,并且是很小的
- 每一个HyperLogLog只需要花费12KB的内存就可以计算接近2的64次方不同元素的基数
- 因为HyperLogLog只会根据输入的元素来计算基数,而不会存储输入元素本身,所以,HyperLogLog不能像集合那样,返回输入的各个元素
- 基数不存在重复的元素,例如:{1,3,4,5,6,6,7,8,9,9}的基数集为{1,3,4,5,6,7,8,9},基数为5,基数估计就是在误差可接受的范围内快速计算基数,但是该误差是在误差允许的范围内
(2)应用
- 基数不大、数据量不到的时候就没必要用基数
- 只能统计基数数量,不能获取具体内容,即:不能存储数据
- 统计每一个用户点击博客的次数,只会计数一次,点击完第一次后,不会再随点击次数的增加而增加访问量
2、命令
(1)添加指定元素到HyperLogLog中
127.0.0.1:6379> pfadd p1 1 2 3 4 5 6 7 8 9 10 12 22 3 3 455 76 7 788 (integer) 1
(2)返回HyperLogLog的基数估计值
127.0.0.1:6379> pfadd p1 1 2 3 4 5 6 7 8 9 10 12 22 3 3 455 76 7 788 (integer) 1 127.0.0.1:6379> pfcount p1 (integer) 15
祛除重复的元素,一共有15个不重复的元素
(3)合并
127.0.0.1:6379> pfadd p1 1 2 3 4 5 6 7 8 9 10 12 22 3 3 455 76 7 788 (integer) 1 127.0.0.1:6379> pfcount p1 (integer) 15 127.0.0.1:6379> pfadd p2 1 2 3 4 5 6 7 8 9 10 (integer) 1 127.0.0.1:6379> pfmerge p4 p2 p1 OK 127.0.0.1:6379> pfcount p4 (integer) 15
将p1和p2的基数集合并为p4基数集,并求出p4的基数
原文地址:https://www.cnblogs.com/zhai1997/p/13287295.html
- 小程序的新功能你知道吗
- Mapxtreme之活活气死
- 仿淘宝的交易到计时JS
- 继小程序之后“小游戏”也来了,微信为此再次开启神秘入口
- (Head First 设计模式)学习笔记(3) --装饰者模式(StarBuzz咖啡店实例)
- 我的Js代码-按钮按下时判断是否选择了最后一行,给出提示
- (Head First 设计模式)学习笔记(2) --观察者模式(气象站实例)
- Spring Boot使用HandlerInterceptorAdapter和WebMvcConfigurerAdapter实现原始的登录验证
- 一条视频获C+融资 两个域名神助攻
- ExtJs与WCF交互:生成树
- JavaScript大略
- 加点的心得
- Markdown
- 介绍linux下利用编译bash设置root账号共用的权限审计设置
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法