Redis Hyperloglog数据结构的主要优点是:
- 节省空间
Hyperloglog仅需要几kb就可以存储超过百万量级的数据。
相比Set消耗的内存小很多。 - 提供了近似值
Hyperloglog不能确定準确值,但可以提供近似值。
对一些不要求精确的场景已经足够。 - 很快的速度
Hyperloglog的时间复杂度是固定的O(1),速度很快。
无论数据规模如何,其速度相当。 - 精度可控
Hyperloglog允许我们指定其精度参数p,从而控制结果的精度。 - 近似卡方测试
Hyperloglog允许我们对两个集合进行近似的卡方检验,判断它们是否独立。
总的来说,Redis Hyperloglog主要的优点包括:
- 空间效率高,只需几kb
- 可以提供近似值,对一些场景足够
3.速度非常快,时间复杂度O(1) - 可以控制结果精度
- 可以做卡方相关性检验
正是因为这些优点,Hyperloglog特别适用于:
- 统计全站UV(单日、周、月)
- 统计应用日活跃用户
- 统计搜索关键词uv等