Redis--BitMap與HyperLogLog

set hello big

big字符串在計算機中存儲爲

0110 0010 0110 1001 0110 0111

redis是可以直接獲取每個位,如下
在這裏插入圖片描述
得到的依次如下:

0110 0010 01

發現和推算的一樣。
這樣,定義一個key,通過設置指定偏移位的值,來存儲數據,最經典的案例爲登錄統計。
如果設置一個很大的偏移量,那麼會將前面都補0。

HyperLogLog和SET差不多。存儲唯一元素,但是hyperLogLog佔用的空間少,同時也會存在0.81%的誤差。
在這裏插入圖片描述
如圖中,hyper中存儲了1000000個數據,通過pfcount獲取基數時發現不是得到的1000000,
hyperloglog無法取出添加進去的數據。在set場景中存儲太多數據,並且對準確率要求不是那麼高的可以
嘗試用hyperloglog。

應用場景

  • 統計詞條搜索次數
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章