zoukankan      html  css  js  c++  java
  • 高级数据类型-HyperLogLog

    统计独立UV

    • 原始方案:set

       存储每个用户的id(字符串)

    • 改进方案:Bitmaps

       存储每个用户状态(bit)

    • 全新的方案:Hyperloglog

    基数

    • 基数是数据集去重后元素个数
    • HyperLogLog 是用来做基数统计的,运用了LogLog的算法

    HyperLogLog类型的基本操作

     添加数据

    pfadd key element [element ...]

     统计数据

    pfcount key [key ...]

     合并数据

    pfmerge destkey sourcekey [sourcekey...]

    Tips 22:

    • redis 应用于独立信息统计

    相关说明

    • 用于进行基数统计,不是集合,不保存数据,只记录数量而不是具体数据 核心是基数估算算法,最终数值存在一定误差
    • 误差范围:基数估计的结果是一个带有 0.81% 标准错误的近似值
    • 耗空间极小,每个hyperloglog key占用了12K的内存用于标记基数
    • pfadd命令不是一次性分配12K内存使用,会随着基数的增加内存逐渐增大 
    • Pfmerge命令合并后占用的存储空间为12K,无论合并之前数据量多少
  • 相关阅读:
    [20210908]Reverse Shell with Bash.txt
    [20210831]bbed读取数据块6.txt
    自主学习 之 用Python玩转数据
    简单四则运算(PSP)
    永久免费云服务器搭建国内Moon服务加速ZeroTier
    INDEX
    openjdk 8 的 hotspot 源码目录结构
    CentOS 7 编译 openjdk 8
    23
    22
  • 原文地址:https://www.cnblogs.com/zhangchaoya/p/15239512.html
Copyright © 2011-2022 走看看