如何分析网站关键词,校园门户网站建设方案,seo网站怎么做,跨境电商做什么平台好redis 2.8.9版本就更新了Hyperloglog数据结构#xff01; Hyperloglog#xff1a;基数统计算法#xff01;0.81%的错误率#xff0c;不过统计大量数据可以忽略#xff01; 在 Redis 里面#xff0c;每个 HyperLogLog 键只需要花费 12 KB 内存#xff0c;就可以计算接近 …redis 2.8.9版本就更新了Hyperloglog数据结构 Hyperloglog基数统计算法0.81%的错误率不过统计大量数据可以忽略 在 Redis 里面每个 HyperLogLog 键只需要花费 12 KB 内存就可以计算接近 2^64 个不同元素的基 数。这和计算基数时元素越多耗费内存就越多的集合形成鲜明对比。 但是因为 HyperLogLog 只会根据输入元素来计算基数而不会储存输入元素本身所以 HyperLogLog 不能像集合那样返回输入的各个元素。
1、什么是基数
比如数据集 {1, 3, 5, 7, 5, 7, 8} 那么这个数据集的基数集为 {1, 3, 5 ,7, 8}, 基数(不重复元素)为5。 基数估计就是在误差可接受的范围内快速计算基数。 A{136756} B{13576} 两个的基数都不重复的元素5可以接受误差
2、Hyperloglog简介
Redis Hyperloglog 基数统计的算法 比如在CSDN中一位用户访问多次但是统计中依旧算作一个人 传统的方式是用set集合把每个人的id保存下来然后统计元素数量但是太费内存了而目标是统计数量如果还要浪费大量的空间就很不划算
优点占用的内存是固定的统计2^64这么大的基数只占用12kb的内存就很方便
3、常用命令
127.0.0.1:6379 PFADD thekey1 a b c d e f g h i j k l m //创建第一组元素
(integer) 1
127.0.0.1:6379 PFADD thekey2 n o p q r s t u v w x y z //创建第二组元素
(integer) 1
127.0.0.1:6379 PFCOUNT thekey1 //查询数量
(integer) 13
127.0.0.1:6379 PFCOUNT thekey2
(integer) 13
127.0.0.1:6379 PFMERGE thekey3 thekey1 thekey2 //合并两组
OK
127.0.0.1:6379 PFCOUNT thekey3
(integer) 25 //百分之零点八的误差出现了允许容错的话可以使用Hyperloglog