Redis命令-HyperLogLog
HyperLogLog数据结构简单介绍
能够看http://www.cnblogs.com/ysuzhaixuefei/p/4052110.html 博客,介绍的相对照较清晰。
HyperLogLog数据结构,能够接收多个參数输入。然后估算出元素的基数。
• 基数:集合中不同元素的数量。比方 {'apple', 'banana', 'cherry', 'banana', 'apple'} 的基数就是 3 。
• 估算值:算法给出的基数并非精确的,可能会比实际略微多一些或者略微少一些,但会控制在合
理的范围之内。
HyperLogLog 的长处是,即使输入元素的数量或者体积很很大。计算基数所需的空间总是固定
的、而且是非常小的。
在 Redis 里面,每一个 HyperLogLog 键仅仅须要花费 12 KB 内存。就能够计算接近 2^64 个不同元素的基
数。这和计算基数时,元素越多耗费内存就越多的集合形成鲜明对照。
可是。由于 HyperLogLog 仅仅会依据输入元素来计算基数,而不会储存输入元素本身。所以
HyperLogLog 不能像集合那样,返回输入的各个元素。
PFADD key [element ...]:将随意数量的元素加入到指定的HyperLogLog中去。相对会更新HyperLogLog内部,更改集合的基数。
假设相应的HyperLogLog的基数发生变化则返回1。否则返回0。
返回值:基数被改动返回1。否则返回0
127.0.0.1:6379> PFADD databases Redis Mongodb MySQL(integer) 1127.0.0.1:6379> PFCOUNT databases(integer) 3127.0.0.1:6379> PFADD databases Redis(integer) 0127.0.0.1:6379> PFADD databases RedisTest(integer) 1127.0.0.1:6379> PFCOUNT databases(integer) 4
PFCOUNT key[key ... ]:PFCOUNT作用于单个key的时候,返回该key的基数。
当PFCOUNT命令作用于多个key时,返回并集的近似数。
返回值:给定hyperLogLog的基数。
PFMERGE destkey sourcekey[sorcekey ...]:将多个HyperLogLog合并为一个HyperLogLog。合并后
的HyperLogLog的基数接近于全部输入的可见集合的并集。合并得出的hyperLogLog会被存储到destkey中去。
返回值:成功返回ok。
127.0.0.1:6379> PFADD nosql Redis MongoDB Memcache(integer) 1127.0.0.1:6379> PFADD rdbms mysql mssql oracle(integer) 1
127.0.0.1:6379> PFMERGE databases nosql rdbmsOK127.0.0.1:6379> PFCOUNT databases(integer) 9
Redis命令-HyperLogLog的更多相关文章
- Redis命令
redis的常用命令主要分为两个方面.一个是键值相关命令.一个是服务器相关命令(redis-cli进入终端) 1.键值相关命令 keys * 取出当前所有的key exists name 查看n是否有 ...
- 浅谈redis的HyperLogLog与布隆过滤器
首先,HyperLogLog与布隆过滤器都是针对大数据统计存储应用场景下的知名算法. HyperLogLog是在大数据的情况下关于数据基数的空间复杂度优化实现,布隆过滤器是在大数据情况下关于检索一个元 ...
- redis命令参考和redis文档中文翻译版
找到了一份redis的中文翻译文档,觉得适合学习和查阅.这份文档翻译的真的很良心啊,他是<Redis 设计与实现>一书的作者黄健宏翻译的. 地址:http://redisdoc.com/i ...
- redis命令手册
Redis 键(key) 命令 命令 描述 Redis DEL 命令 该命令用于在 key 存在是删除 key. Redis Dump 命令 序列化给定 key ,并返回被序列化的值. Redis E ...
- Redis记录-Redis命令
Redis命令是用于在Redis服务器上执行一些操作.要在Redis服务器上运行命令,需要一个Redis客户端.Redis客户端在Redis包中有提供,这个包在我们前面的安装教程中就有安装过了. 语法 ...
- Redis 学习之路 (010) - redis命令手册
Redis 键(key) 命令 命令 描述 Redis DEL 命令 该命令用于在 key 存在是删除 key. Redis Dump 命令 序列化给定 key ,并返回被序列化的值. Redis E ...
- python 操作redis之——HyperLogLog (八)
#coding:utf8 import redis # python 操作redis之——HyperLogLog r =redis.Redis(host=") # 1.Pfadd 命令将所有 ...
- Redis 中 HyperLogLog 的使用场景
什么是基数估算 HyperLogLog 是一种基数估算算法.所谓基数估算,就是估算在一批数据中,不重复元素的个数有多少. 从数学上来说,基数估计这个问题的详细描述是:对于一个数据流 {x1,x2,.. ...
- Redis命令大全(超详细)
一:序 其实本文的命令大家都可以去官网学习,但是我出这篇文章只是以更直观的方式来解读官网上的命令,让大家一眼可以看得懂,看的明白: 注意:我全文使用的Redis版本为 6.2.x 版本,低版本可能有些 ...
随机推荐
- A - Translation
Problem description The translation from the Berland language into the Birland language is not an ea ...
- c# winform 获取listview 选中行某列的值
给listview填充数据: for (int i = 0; i < 5; i++) { ListViewItem lvitem = new ListViewItem(); lvitem.Sub ...
- Hadoop MapReduce编程 API入门系列之最短路径(十五)
不多说,直接上代码. ======================================= Iteration: 1= Input path: out/shortestpath/input. ...
- JavaScript——视频插入
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- MAVEN学习笔记之私服Nexus(2)
MAVEN学习笔记之私服Nexus(2) 私有服务器搭建 Nexus www.snatype.org下载 snatype-work 是默认nexus存储nexus a:将bin添加到环境中 Admin ...
- Win10 UWP Tile Generator
图标生成器 https://marketplace.visualstudio.com/items?itemName=shenchauhan.UWPTileGenerator 备份地址: http:// ...
- 【技术累积】【点】【java】【9】Optional
基础概念 java8引入的,java9有加强 Google公司出品 旨在更好的处理NullPointException 创建Optional实例和基础使用 Optional op1 = Optiona ...
- 【技术累积】【点】【java】【4】日志级别
闲聊 水文也是文,写总比不写好. 日志级别 虽然对其他语言的日志系统也不甚了解,但还是感觉Java的日志有些麻烦,当然也可以说是发展已久,多有变化,多有完善吧. 从日志级别来说,有从高到低的八个级别: ...
- 如何激活优动漫PAINT,获取优动漫PAINT序列号
优动漫PAINT也就是我们常说的clip studio paint(CSP)的中文版本,它是一款功能强大的漫画.插画绘制软件,所有动漫和漫画插件使用帮助你更加便捷的创作有质量的二次元素材,是各位喜欢动 ...
- websocket 进阶!netty框架实现websocket达到高并发
引言: 在前面两篇文章中,我们对原生websocket进行了了解,且用demo来简单的讲解了其用法.但是在实际项目中,那样的用法是不可取的,理由是tomcat对高并发的支持不怎么好,特别是tomcat ...