Redis HyperLogLog

Redis HyperLogLog

Redis 在 2.8.9 版本添加了 HyperLogLog 结构。

Redis HyperLogLog 是用来做基数统计的算法,HyperLogLog 的优点是,在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定 的、并且是很小的。

在 Redis 里面,每个 HyperLogLog 键只需要花费 12 KB 内存,就可以计算接近 2^64 个不同元素的基 数。这和计算基数时,元素越多耗费内存就越多的集合形成鲜明对比。

但是,因为 HyperLogLog 只会根据输入元素来计算基数,而不会储存输入元素本身,所以 HyperLogLog 不能像集合那样,返回输入的各个元素。


什么是基数?

比如数据集 {1, 3, 5, 7, 5, 7, 8}, 那么这个数据集的基数集为 {1, 3, 5 ,7, 8}, 基数(不重复元素)为5。 基数估计就是在误差可接受的范围内,快速计算基数。

Redis HyperLogLog 命令

下表列出了 redis HyperLogLog 的基本命令:

1> pfadd 命令:添加指定元素到 HyperLogLog 中

格式:PFADD key element [element ...]

2> pfcount 命令:返回给定 HyperLogLog 的基数估算值

格式:PFCOUNT key [key ...]

3> pfmerge 命令:将多个 HyperLogLog 合并为一个 HyperLogLog

格式:PFMERGE destkey sourcekey [sourcekey ...]

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • NOSQL类型简介键值对:会使用到一个哈希表,表中有一个特定的键和一个指针指向特定的数据,如redis,volde...
    MicoCube阅读 4,141评论 2 27
  • Redis 简介 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。 Redi...
    陈小陌丿阅读 14,084评论 0 2
  • 1.1 资料 ,最好的入门小册子,可以先于一切文档之前看,免费。 作者Antirez的博客,Antirez维护的R...
    JefferyLcm阅读 17,282评论 1 51
  • Redis命令运行于redis服务器上,要在服务器上运行命令需要一个redis客户端,在安装Redis安装包时,我...
    第八共同体阅读 260评论 0 0
  • 广寒宫里常年下着雪 陪着不老不死的绝世美人 我捣药捣桂花捣惨淡月光 人间的锣鼓声飞上了天 我看见那满是落红的小径上...
    杮下卖酒阅读 359评论 0 2

友情链接更多精彩内容