在线人数统计

  • 几种方法

    • https://www.cnblogs.com/php-no-2/p/9431213.html
    • 感觉上大概就是 bloom filter 和 hyperloglog 两个比较实用,由于占用资源少,但是统计的值都不是精确值
    • 这两个方法都可以合并,hyperloglog 是取最大值, bloom filter 是 二进制与运算
    • 但是由于redis 里只有有hyperloglog,所以应该更易用
  • hyperloglog

    • 参考
      • https://www.jianshu.com/p/55defda6dcd2
      • https://en.wikipedia.org/wiki/HyperLogLog
      • 视频:https://www.youtube.com/watch?v=eV1haPUt0NU
    • 总结
      • 如果很多个数字,他们结尾的0 最长为n, 那么估计这些数组的数量是 2^n
      • 分桶,取平均,调和平均(用不同hash 函数应该效果也差不多)
      • 被估计的值很小或者很大时都要做特殊处理

你可能感兴趣的:(redis)