`

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 127.0.0.1:6379> PFADD w3ckey "redis"
1) (integer) 1

redis 127.0.0.1:6379> PFADD w3ckey "mongodb"
1) (integer) 1

redis 127.0.0.1:6379> PFADD w3ckey "mysql"
1) (integer) 1

redis 127.0.0.1:6379> PFCOUNT w3ckey
(integer) 3


Redis HyperLogLog 命令
下表列出了 redis HyperLogLog 的基本命令:
序号 命令及描述
1 PFADD key element [element ...]
添加指定元素到 HyperLogLog 中。
2 PFCOUNT key [key ...]
返回给定 HyperLogLog 的基数估算值。
3 PFMERGE destkey sourcekey [sourcekey ...]
将多个 HyperLogLog 合并为一个 HyperLogLog
分享到:
评论

相关推荐

    08-Redis HyperLogLog与事务和Redis 7.0那点事-ev.rar

    08-Redis HyperLogLog与事务和Redis 7.0那点事_ev.rar08-Redis HyperLogLog与事务和Redis 7.0那点事_ev.rar08-Redis HyperLogLog与事务和Redis 7.0那点事_ev.rar08-Redis HyperLogLog与事务和Redis 7.0那点事_ev.rar...

    hyperloglog-redis:Redis支持的HyperLogLog算法的实现

    require 'hyperloglog-redis' counter = HyperLogLog::Counter.new(Redis.new) ['john', 'paul', 'george', 'ringo', 'john', 'paul'].each do |beatle| counter.add('beatles', beatle) end puts "There are ...

    基于 StackExchange.Redis 的 Redis 客户端 .zip

    云结构CloudStructures ...结构 描述RedisBit 比特 APIRedisDictionary, TValue> 具有受限值类型的哈希 APIRedisGeo<T> 几何图形 APIRedisHashSet<T> 喜欢RedisDictionary, bool>RedisHyperLogLog<T> HyperLogLogs API

    wyhll:基于2位HyperLogLog的梦想精确近似集基数估计器。 比Redis HyperLogLog更准确,更快

    本文将深入探讨一种基于2位HyperLogLog的优化版本——wyhll,它由王翼提出,相比Redis的HyperLogLog,具有更高的精度和更快的速度。 HyperLogLog算法的核心思想是使用概率统计方法来估算集合的基数。它通过哈希函数...

    wyHLL:基于3位HyperLogLog的梦想精确近似集基数估计器。 比Redis HyperLogLog更准确

    wyHLL:WangYi的3位HyperLogLog

    untitled1.zip

    在Redis中,HyperLogLog是一种特殊的数据结构,用于估算集合中的唯一元素数量,而无需存储每个元素的具体信息。这使得HyperLogLog在处理大数据集时非常高效,内存占用极低。 HyperLogLog算法的核心思想是利用概率...

    Redis的HyperLogLog是如何实现基数统计的?

    Redis是一个开源的内存数据库,属于NoSQL数据库的一种。它以其高性能、支持丰富的数据结构、持久化特性、复制、集群以及发布/订阅等特性而闻名。Redis是一个键值存储系统,每个键都对应一个值,这个值可以是字符串、...

    60道关于Redis的常见面试题.pdf

    什么是 Redis HyperLogLog 数据结构?可以用来解决什么问题? - **定义**:HyperLogLog 是一种概率型数据结构,用于估算不同集合的基数。 - **解决问题**:在内存有限的情况下,快速估计不同集合的元素数量。 ###...

    10 redis高级

    Redis HyperLogLog 是用来做基数统计的算法,HyperLogLog 的优点是,在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定 的、并且是很小的 只计算基数个数,但不存储元素本身 pfadd key element:...

    Redis 16.HyperLogLog.flv

    Redis 16.HyperLogLog.flv

    redis帮助文档之hyperloglog.md

    redis帮助文档之hyperloglog

    尚硅谷周阳Redis笔记

    以上就是关于"尚硅谷周阳Redis笔记"的一些主要知识点,包括Redis的基本概念、数据类型、持久化、事务、复制、发布订阅、布隆过滤器、HyperLogLog以及GEO定位等功能的介绍。这个笔记资源对于学习和理解Redis的使用...

    C#操作Redis明细内容 C#调用redis c#使用redis业务 C# Redis操作类 C#中Redis封装的类 C#

    谈下你对 Redis 的了解? 1)Redis是一种基于键值对的NoSQL数据库(非关系型数据库);是一个key-value存储系统 2)高性能、可靠性 Redis将数据存储在内存中,读写性能高;Redis提供了 RDB和AOF持久化,可将内存...

    redis-3.2.2.gem redis-3.2.2.gem redis-3.2.2.gem

    Redis 是一个开源的,基于键值对的数据存储系统,它被广泛用于缓存、数据库以及消息中间件等场景。这个压缩包"redis-3.2.2.gem"包含的是Redis 3.2.2版本的源代码或者安装包,主要用于在Ruby环境中安装和使用Redis。...

    redis win x64位 及 安装卸载RedisServer服务

    - Redis的数据类型:字符串、哈希、列表、集合、有序集合,以及HyperLogLog和地理空间索引。 - Redis持久化:RDB快照和AOF追加日志两种方式,确保数据在服务器重启或故障后不丢失。 - Redis事务:通过`MULTI`、`EXEC...

    redis 离线集群redis5.0以上版本

    Redis 5.0引入了HyperLogLog数据结构,用于估算集合中唯一元素的数量,占用空间非常小。此外,Bitmaps也得到了加强,提供了更多的操作,适合进行大数据分析。 8. **备份与恢复**: 考虑到集群环境,Redis 5.0改进...

    Redis-2.8 for Windows64

    HyperLogLog数据结构提供了高效的大规模唯一元素计数;还有新的Stream ID机制,增强了消息队列的功能。 **3. 安装与配置** 在Windows 64位系统上,提供的`redis.windows.conf`是Redis的主要配置文件,用户可以通过...

    Redis全套学习笔记-带章节目录-114页.pdf

    * HyperLoglog:HyperLoglog是Redis的一种数据类型,使用pfadd命令添加多个元素,pfcount命令统计基数估算。 * Geo:Geo是Redis的一种数据类型,使用geoadd命令添加地理位置,geopos命令获取地理位置。 Redis是一个...

    redis-3.2.9安装包

    5. **HyperLogLog**:这是一个高效的基数估算数据结构,用于计算不同元素的数量,占用存储空间极小。 6. **Improved Sorted Sets**:优化了有序集合的操作,包括ZINTERSTORE和ZUNIONSTORE等命令,提高了性能。 三、...

    Redis从入门到精通2024版 视频教程 下载 百度网盘链接4.zip

    │ 10.Redis 中的 HyperLogLog.mp4 │ 11.布隆过滤器[问题场景].mp4 │ 12.布隆过滤器[概念介绍].mp4 │ 13.布隆过滤器[原理介绍].mp4 │ 14.布隆过滤器[安装与启动].mp4 │ 15.布隆过滤器[基本用法].mp4 │ ...

Global site tag (gtag.js) - Google Analytics