在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ 大數(shù)據(jù)/ Redis HyperLogLog
C#連接Redis
Redis基準(zhǔn)
Redis數(shù)據(jù)類型
Windows下安裝Redis
Redis事務(wù)
Redis腳本
Redis配置
Redis客戶端連接
Redis字符串
Redis管道
PHP連接Redis
Redis快速入門
Redis命令
Redis教程
Redis哈希
Redis環(huán)境安裝配置
Redis分區(qū)
Redis備份
Redis發(fā)送訂閱
Redis連接
Redis服務(wù)器
Redis集合
Redis鍵命令
Redis HyperLogLog
Java連接Redis
Redis列表

Redis HyperLogLog

Redis HyperLogLog是一種使用隨機(jī)化的算法,以少量?jī)?nèi)存提供集合中唯一元素?cái)?shù)量的近似值。

HyperLogLog 可以接受多個(gè)元素作為輸入,并給出輸入元素的基數(shù)估算值:

  • 基數(shù):集合中不同元素的數(shù)量。比如 {‘a(chǎn)pple’, ‘banana’, ‘cherry’, ‘banana’, ‘a(chǎn)pple’} 的基數(shù)就是 3 。
  • 估算值:算法給出的基數(shù)并不是精確的,可能會(huì)比實(shí)際稍微多一些或者稍微少一些,但會(huì)控制在合理的范圍之內(nèi)。

HyperLogLog 的優(yōu)點(diǎn)是,即使輸入元素的數(shù)量或者體積非常非常大,計(jì)算基數(shù)所需的空間總是固定的、并且是很小的。

在 Redis 里面,每個(gè) HyperLogLog 鍵只需要花費(fèi) 12 KB 內(nèi)存,就可以計(jì)算接近 2^64 個(gè)不同元素的基數(shù)。這和計(jì)算基數(shù)時(shí),元素越多耗費(fèi)內(nèi)存就越多的集合形成鮮明對(duì)比。

但是,因?yàn)?HyperLogLog 只會(huì)根據(jù)輸入元素來計(jì)算基數(shù),而不會(huì)儲(chǔ)存輸入元素本身,所以
HyperLogLog 不能像集合那樣,返回輸入的各個(gè)元素。

示例

redis 127.0.0.1:6379> PFADD mykey "redis"  
1) (integer) 1  
redis 127.0.0.1:6379> PFADD mykey "mongodb"  
1) (integer) 1  
redis 127.0.0.1:6379> PFADD mykey "mysql"  
1) (integer) 1  
redis 127.0.0.1:6379> PFCOUNT mykey  
(integer) 3

Redis集排序集合命令

下表列出了 HyperLogLog 相關(guān)的一些基本命令。

序號(hào) 命令 說明
1 PFADD key element [element …] 將指定的元素添加到指定的HyperLogLog 中。
2 PFCOUNT key [key …] 返回給定 HyperLogLog 的基數(shù)估算值。
3 PFMERGE destkey sourcekey [sourcekey …] 將多個(gè) HyperLogLog 合并為一個(gè) HyperLogLog

上一篇:Redis快速入門下一篇:Redis腳本