博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Redis命令-HyperLogLog
阅读量:7135 次
发布时间:2019-06-28

本文共 1307 字,大约阅读时间需要 4 分钟。

HyperLogLog数据结构简单介绍

    能够看  博客,介绍的相对照较清晰。

    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

 
  1. 127.0.0.1:6379> PFADD databases Redis Mongodb MySQL
  2. (integer) 1
  3. 127.0.0.1:6379> PFCOUNT databases
  4. (integer) 3
  5. 127.0.0.1:6379> PFADD databases Redis
  6. (integer) 0
  7. 127.0.0.1:6379> PFADD databases RedisTest
  8. (integer) 1
  9. 127.0.0.1:6379> PFCOUNT databases
  10. (integer) 4

PFCOUNT key[key ... ]:PFCOUNT作用于单个key的时候,返回该key的基数。

当PFCOUNT命令作用于多个key时,返回并集的近似数。

    返回值:给定hyperLogLog的基数。

PFMERGE destkey sourcekey[sorcekey ...]:将多个HyperLogLog合并为一个HyperLogLog。合并后 的HyperLogLog的基数接近于全部输入的可见集合的并集。合并得出的hyperLogLog会被存储到destkey中去。

    返回值:成功返回ok。

 
  1. 127.0.0.1:6379> PFADD nosql Redis MongoDB Memcache
  2. (integer) 1
  3. 127.0.0.1:6379> PFADD rdbms mysql mssql oracle
  4. (integer) 1

  1. 127.0.0.1:6379> PFMERGE databases nosql rdbms
  2. OK
  3. 127.0.0.1:6379> PFCOUNT databases
  4. (integer) 9

转载地址:http://uvvrl.baihongyu.com/

你可能感兴趣的文章
弹了个框。。。不过不太好。 待解决
查看>>
keras 保存训练的最佳模型
查看>>
创业找投资,你要警惕的三种人---情商培养
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
大数据波分传输工程方案设计主要细节
查看>>
Z字形扫描(201412-2)
查看>>
如何确定Windows Server 2012中虚拟机的动态内存可用大小
查看>>
P2327 [SCOI2005]扫雷
查看>>
Hibernate基础实例
查看>>
索引设计规范
查看>>
python笔记4:计算输入时间为当年的第几天
查看>>
Linux 常用命令集合
查看>>
ARP的应用案例,测试ARP防火墙的主动防御功能;
查看>>
浅谈ipsec
查看>>
我的友情链接
查看>>
新手入门
查看>>
centos下lamp源码安装
查看>>
cinder-volume服务状态为down 解决方法
查看>>
实战:通过建立的会话查看***
查看>>