zoukankan      html  css  js  c++  java
  • HyperLogLog命令

    简介:
    HyperLogLog是redis在2.8.9版本添加的一种新的结构。
    Redis-HyperLogLog是用来做基数统计的算法,其最大的优点就是:在输入元素的数量或者体积非常非常大的时候,计算基数需要的空间总是固定的,并且很小。在redis中,每一个HyperLogLog只需要12KB内存,就可以计算接近2^64个不同元素的基数,这与元素越多耗费内存越大的集合形成了一个鲜明的对比。但是HyperLogLog只会根据输入元素来计算基数,不会存储输入元素本身,所以HyperLogLog不能和集合一样,返回输入的各个元素。
    什么是基数?基数就是一个数据集中元素个数(重复元素只算一个)。
     
    命令介绍:
    1)pfadd
    可用版本: >=2.8.9
    时间复杂度: 每添加一个元素复杂度为O(1)
    命令格式: pfadd key element [element ...]
    作用:
    将任意数量的元素添加到指定的HyperLogLog中。(HyperLogLog内部可能会被更新,以便反映一个不同唯一元素估计数量,即集合基数)
    返回值:
    如果HyperLogLog估计的近似基数在命令执行之后出现了变化,返回1,不然返回0。
    注意:
    如果指定HyperLogLog不存在的话,默认原始值为一个空HyperLogLog结构。
    可以没有element参数,表示只是创建一个空的HyperLogLog结构。创建成功返回1。
     
    2)pfcount
    可用版本: >=2.8.9
    时间复杂度: O(N),N为指定HyperLogLog的个数
    命令格式: pfcount key [key ...]
    作用:
    获取所有给定HyperLogLog的并集的近似基数,这个近似基数带有0.81%标准错误的近似值。
    返回值:
    返回所有给定HyperLogLog的并集的近似基数,只有一个key的话,就是这个key的近似基数,如果这一个key也不存在的话,返回0。
     
    3)pfmerge
    可用版本: >=2.8.9
    时间复杂度: O(N),N为被合并的HyperLogLog数量
    命令格式: pfmerge destkey sourcekey [sourcekey ...]
    作用:
    将多个HyperLogLog合并成一个,合并之后得到的HyperLogLog保存在destkey中,如果不存在的话,就会创建它。
    返回值:
    返回OK
    作者:红雨
    出处:https://www.cnblogs.com/52why
    微信公众号: 红雨python
  • 相关阅读:
    自动化测试项目实战训练【广州8月】
    RFT基础使用手册
    TestComplete自动化测试实战训练【6月11、12号】
    Jubula Eclipse开源功能测试工具
    网络管理自动化测试应用
    IBM RFT自动化测试实战课程
    GUI自动化测试原理剖析—JAVA测试篇
    简易自动化测试设计之(一) 基于RFT的自动化测试层次
    录制,到底给我们带来了什么?
    IBM Rational Functional Tester(RFT) 自动化测试框架ITCL
  • 原文地址:https://www.cnblogs.com/52why/p/14331716.html
Copyright © 2011-2022 走看看