亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目錄 搜索
Cluster cluster addslots(集群 槽位) cluster count failure reports(集群計數(shù)失敗報告) cluster countkeysinslot cluster delslots cluster failover cluster forget cluster getkeysinslot cluster info cluster keyslot(集群鍵槽) cluster meet cluster nodes(集群節(jié)點) cluster replicate(集群復(fù)制) cluster reset(集群重置) cluster saveconfig cluster set config epoch cluster setslot cluster slaves cluster slots readonly readwrite Connection auth echo ping quit select swapdb Geo geoadd geodist geohash geopos georadius georadiusbymember Hashes hdel hexists hget hgetall hincrby hincrbyfloat hkeys hlen hmget hmset hscan hset hsetnx hstrlen hvals HyperLogLog pfadd pfcount pfmerge Keys del dump exists expire expireat keys migrate move object persist pexpire pexpireat pttl randomkey rename renamenx restore scan sort touch ttl type unlink wait Lists blpop brpop brpoplpush lindex linsert llen lpop lpush lpushx lrange lrem lset ltrim rpop rpoplpush rpush rpushx Pub/Sub psubscribe publish pubsub punsubscribe subscribe unsubscribe Scripting eval evalsha script debug script exists script flush script kill script load Server bgrewriteaof bgsave client getname client kill client list client pause client reply client setname command command count command getkeys command info config get config resetstat config rewrite config set dbsize debug object debug segfault flushall flushdb info lastsave monitor role save shutdown slaveof slowlog time Sets sadd scard sdiff sdiffstore sinter sinterstore sismember smembers smove spop srandmember srem sscan sunion sunionstore Sorted Sets zadd zcard zcount zincrby zinterstore zlexcount zrange zrangebylex zrangebyscore zrank zrem zremrangebylex zremrangebyrank zremrangebyscore zrevrange zrevrangebylex zrevrangebyscore zrevrank zscan zscore zunionstore Strings append bitcount bitfield bitop bitpos decr decrby get getbit getrange getset incr incrby incrbyfloat mget mset msetnx psetex set setbit setex setnx setrange strlen Transactions discard exec multi unwatch watch
文字

PFCOUNT key [key ...]

自2.8.9起可用。

時間復(fù)雜度: O(1)用單個密鑰調(diào)用時的平均時間非常短。O(N),其中N是密鑰的數(shù)量,當(dāng)用多個密鑰調(diào)用時,恒定時間大得多。

使用單個鍵調(diào)用時,返回由存儲在指定變量中的 HyperLogLog 數(shù)據(jù)結(jié)構(gòu)計算的近似基數(shù),如果該變量不存在,則返回0。

使用多個鍵調(diào)用時,通過將存儲在所提供的鍵中的 HyperLogLog 內(nèi)部合并到臨時 HyperLogLog 中,返回傳遞的 HyperlogLog 的聯(lián)合的近似基數(shù)。

可以使用 HyperLogLog 數(shù)據(jù)結(jié)構(gòu),以便使用少量恒定內(nèi)存(特別是每個 HyperLogLog 的12k字節(jié)(加上密鑰本身的幾個字節(jié)))對集合中的唯一元素進行計數(shù)。

觀察到的集合的返回基數(shù)不是確切的,但是以0.81%的標準誤差近似。

例如,為了計算一天中執(zhí)行的所有唯一搜索查詢的計數(shù),程序需要在每次處理查詢時調(diào)用 PFADD??梢噪S時使用 PFCOUNT 檢索唯一查詢的估計數(shù)量。

注意:由于調(diào)用此函數(shù)的副作用,HyperLogLog 可能會被修改,因為最后8個字節(jié)會將最新計算的基數(shù)編碼為高速緩存目的。所以 PFCOUNT 在技術(shù)上是一個寫命令。

返回值

整數(shù)回復(fù),具體為:

  • 通過PFADD觀察到的獨特元素的近似數(shù)量。

例子

redis>  PFADD hll foo bar zap (integer) 1 redis>  PFADD hll zap zap zap (integer) 0 redis>  PFADD hll foo bar (integer) 0 redis>  PFCOUNT hll (integer) 3 redis>  PFADD some-other-hll 1 2 3 (integer) 1 redis>  PFCOUNT hll some-other-hll (integer) 6

Performances

當(dāng)使用單個鍵調(diào)用 PFCOUNT 時,即使理論上處理密集型 HyperLogLog 的時間很長,性能也非常好。這是可能的,因為 PFCOUNT 使用緩存來記住之前計算的基數(shù),這很少發(fā)生變化,因為大多數(shù) PFADD 操作不會更新任何寄存器。每秒可執(zhí)行數(shù)百次操作。

當(dāng)使用多個密鑰調(diào)用 PFCOUNT 時,將執(zhí)行 HyperLogLog 的即時合并,這很慢,而且聯(lián)合的基數(shù)不能被緩存,所以當(dāng)與多個密鑰 PFCOUNT 一起使用時,可能需要一段時間毫秒數(shù)量級,并且不應(yīng)該被濫用。

用戶應(yīng)該記住,該命令的單鍵和多鍵執(zhí)行在語義上是不同的并且具有不同的性能。

HyperLogLog representation

Redis HyperLogLog 使用雙重表示法表示:適用于 HLL 計數(shù)少量元素(導(dǎo)致少量寄存器設(shè)置為非零值)的稀疏表示形式,以及適用于更高基數(shù)的密集表示形式。需要時,Redis 會自動從稀疏狀態(tài)切換到密集狀態(tài)。

稀疏表示使用經(jīng)過優(yōu)化的游程編碼來有效地存儲大量設(shè)置為零的寄存器。密集表示是一個12288字節(jié)的 Redis 字符串,用于存儲16384個6位計數(shù)器。對雙重表示的需求來自于使用12k(這是密集表示內(nèi)存要求)對少量寄存器進行編碼以獲得更小的基數(shù)的事實,這是非常不理想的。

兩種表示都以16字節(jié)的頭部作為前綴,其中包含魔術(shù),編碼/版本字段以及計算出的緩存基數(shù)估計值,并以 little endian 格式存儲(如果自 HyperLogLog 更新后估計無效,則最高有效位為1因為計算基數(shù))。

作為 Redis 字符串的 HyperLogLog 可以使用GET進行檢索并使用 SET 進行恢復(fù)。使用損壞的 HyperLogLog 調(diào)用 PFADD,PFCOUNT 或 PFMERGE 命令絕不是問題,它可能會返回隨機值,但不會影響服務(wù)器的穩(wěn)定性。大多數(shù)情況下,當(dāng)破壞稀疏表示時,服務(wù)器會識別損壞并返回錯誤。

從處理器字長和字節(jié)序的觀點來看,該表示是中性的,因此32位和64位處理器使用相同的表示法,即大字節(jié)或小字節(jié)。

上一篇: 下一篇: