zoukankan      html  css  js  c++  java
  • redis HyperLogLog使用

    HyperLogLog主要用来做基数统计,即取count distinct。用HyperLogLog做基数统计有一个好处,那就是不会因为数据量大而占用很多内存,即使数据量再大,占用的内存也最多12kb。

    HyperLogLog只会根据输入的数据计算基数,并不会存储数据,所以不能获取输入的数据。HyperLogLog计算出的基数只是个近似值,在大数据量时,可能有一些误差,这是由算法决定的,不可调和。

    HyperLogLog key用type命令查看,会返回"string",用get命令查看,会返回一个以"HYLL"开头的字符串。

    HyperLogLog涉及的命令以pf开头,有三个,分别是pfadd、pfmerge、pfcount。

    1、pfadd:往一个HyperLogLog类型的key中插入数据

    语法:pfadd key element [element . . .]

    如pfadd rpc thrift grpc dubbo taf trpc

    2、pfmerge:合并一个或多个HyperLogLog类型的key的基数集到一个新的HyperLogLog类型的key中

    语法:pfmerge destkey sourcekey [sourcekey . . .]

    假如还有一个HyperLogLog类型的key,pfadd application_protocol ftp telnet http trpc

    pfmerge po rpc application_protocol

    3、pfcount:返回一个或多个HyperLogLog类型的key的近似基数

    语法:pfcount key [key . . .]

    如pfcount rpc,会返回5。

    pfcount application_protocol,会返回4。

    pfcount po,会返回8。

    pfcount rpc application_protocol,会返回8。

    pfcount rpc application_protocol po,会返回8。

    HyperLogLog类型的key可以持久化吗?实测,可以。

  • 相关阅读:
    10-12
    8-10
    5.2-5.3
    四则运算 测试与封装
    第5-7章
    汉堡包
    1-5章
    实验二
    实验一
    Controller方法是如何与请求匹配上的及参数如何填充的
  • 原文地址:https://www.cnblogs.com/koushr/p/5873397.html
Copyright © 2011-2022 走看看