Redis--HyperLogLog
Redis提供了HyperLogLog数据结构用来解决统计问题. 应用场景: 去重且对精确度没有太过严格要求的统计需求(ps:日活uv统计) HyperLogLog提供不精确的去重计数方案,标准误差0.81%.
常用命令
- pfadd
- pfcount
- pfmerge pfadd & pfcount 这里就不多赘述了,无非就是对应的set集合的sadd和和scard获取计数值 pfmerge 用于将多个pf计数值累加形成一个新的pf值
注意事项
HyperLogLog这个数据结构是需要占据一定12k的存储空间的,所以不适合用来做单用户相关的数据,或者说针对性强关联度不高的数据. HyperLogLog存储空间-->在计数值较小的时候采用稀疏矩阵进行存储空间占用小,只有在超过阈值才会一次性转变成稠密矩阵,占用12k空间.