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。基数估计就是在误差可接受的范围内,快速计算基数。

实例

以下实例演示了HyperLogLog的工作过程:

[root@localhost ~]# redis-cli

127.0.0.1:6379> PFADD testkey “redis”

(integer) 1

127.0.0.1:6379> PFADD testkey “mongodb”

(integer) 1

127.0.0.1:6379> PFADD testkey “mysql”

(integer) 1

127.0.0.1:6379> PFCOUNT testkey

(integer) 3

Redis HyperLogLog命令

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

序号

命令及描述

1

PFADD key element [element …]
添加指定元素到 HyperLogLog 中。

2

PFCOUNT key [key …]
返回给定 HyperLogLog 的基数估算值。

3

PFMERGE destkey sourcekey [sourcekey …]
将多个 HyperLogLog 合并为一个 HyperLogLog

原创文章,作者:admin,如若转载,请注明出处:https://hostingchat.cn/294.html

(0)
admin的头像admin
上一篇 2020年5月12日
下一篇 2020年5月13日

相关推荐

  • Redis 事务

    Redis 事务 Redis 事务可以一次执行多个命令,并且带有以下三个重要的保证: 批量操作在发送EXEC命令前被放入队列缓存。 收到EXEC命令后进入事务执行,事务中任意命令执…

    2020年5月13日
    000
  • Redis 字符串(String)

    Redis 字符串(String) Redis 字符串数据类型的相关命令用于管理redis字符串值,基本语法如下: 语法 127.0.0.1:6379> COMMAND KE…

    2020年5月12日
    000
  • Redis 发布订阅

    一、Redis 发布订阅 Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。 Redis 客户端可以订阅任意数量的频道。…

    2020年5月13日
    000
  • Redis 配置文件

    Redis 配置 Redis 的配置文件位于Redis安装目录下,文件名为redis.conf(Windows 名为 redis.windows.conf)。 你可以通过CONFI…

    2020年5月12日
    100
  • Linux安装Redis数据库及添加PHP扩展

    一、Redis简介 Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日…

    2017年12月14日
    000
  • Redis 性能测试

    Redis简介 REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。 Redis是一个开…

    2020年5月13日
    000
  • Ubuntu 22.04安装Redis

    一、方式一 1、安装Redis 1)更新系统 root@ubuntu:~# apt update -y 2)安装Redis root@ubuntu:~# apt -y instal…

    2024年11月6日
    000
  • Redis 服务器

    Redis 服务器 Redis 服务器命令主要是用于管理redis服务。 实例 以下实例演示了如何获取redis服务器的统计信息: [root@localhost ~]# redi…

    2020年5月13日
    000
  • Redis 数据类型

    Redis 数据类型 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。 Stri…

    2020年5月12日
    000
  • Debian 12.7安装Redis

    一、方式一 1、安装Redis 1)更新系统 root@debian:~# apt update -y 2)安装Redis root@debian:~# apt -y instal…

    2024年11月6日
    000

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注