查看“Redis:HyperLogLog”的源代码
←
Redis:HyperLogLog
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
[[category:Redis]] == HyperLogLog == Redis HyperLogLog 是用来做'''基数统计'''的算法。 * Redis 在 '''2.8.9''' 版本添加了 HyperLogLog 结构。 HyperLogLog 的优点是,在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定的、并且是很小的: * 在 Redis 里面,每个 HyperLogLog 键只需要花费 '''12 KB''' 内存,就可以计算接近 '''2^64''' 个不同元素的基数。这和计算基数时,元素越多耗费内存就越多的集合形成鲜明对比。 * 但是,因为 HyperLogLog 只会根据输入元素来计算基数,而不会储存输入元素本身,所以 HyperLogLog 不能像集合那样,返回输入的各个元素。 === 什么是基数? === '''基数''':就是数据集的“基数集”中的元素个数,即“'''数据集中不重复元素的个数'''”。 : 比如数据集 {1, 3, 5, 7, 5, 7, 8} ,其基数集为 {1, 3, 5 ,7, 8}, 基数为 5。 '''基数估计''':就是在误差可接受的范围内,快速计算基数。 === HyperLogLog 命令 === {| class="wikitable" ! 命令 !! 描述 |- | '''PFADD''' <key> <element> [<element>] || 添加指定元素到 HyperLogLog 中。 |- | '''PFCOUNT''' <key> [<key>] || 返回给定 HyperLogLog 的基数估算值。 |- | '''PFMERGE''' <destkey> <sourcekey> [<sourcekey>] || 将多个 HyperLogLog 合并为一个 HyperLogLog |} === 示例 === <syntaxhighlight lang="java" highlight=""> redis 127.0.0.1:6379> PFADD runoobkey "redis" 1) (integer) 1 redis 127.0.0.1:6379> PFADD runoobkey "mongodb" 1) (integer) 1 redis 127.0.0.1:6379> PFADD runoobkey "mysql" 1) (integer) 1 redis 127.0.0.1:6379> PFCOUNT runoobkey (integer) 3 </syntaxhighlight>
返回至“
Redis:HyperLogLog
”。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
已展开
已折叠
查看
阅读
查看源代码
查看历史
更多
已展开
已折叠
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
笔记
服务器
数据库
后端
前端
工具
《To do list》
日常
阅读
电影
摄影
其他
Software
Windows
WIKIOE
所有分类
所有页面
侧边栏
站点日志
工具
链入页面
相关更改
特殊页面
页面信息