Bitmaps與HypeLoglog

bitmap 算法-小灰html

  • Bitmaps 單獨提供了一套命令,因此在 Redis 中使用 Bitmaps 和使用字符串的方法不太相同。能夠把 Bitmaps 想象成一個以 位 爲單位的數組,數組的每一個單元只能存儲 0 和 1,數組的下標在Bitmaps中叫作偏移量

基礎操做:算法

setbit key offset value 設置值數組

getbit key offset 獲取值數據結構

bitcount [start end ] 獲取指定範圍內1的個數網站

bitpos key targetBit [start end ] 計算bitmaps 中第一個值爲targetbit偏移量   bitpos key 1 計算key中當前訪問網站的最小用戶idspa

bitop op destkey key (op = or,and,not,xor)  bitmap 之間的運算code

operation 能夠是 AND 、 OR 、 NOT 、 XOR 這四種操做中的任意一種:htm

  • BITOP AND destkey key [key ...] ,對一個或多個 key 求邏輯並,並將結果保存到 destkey 。
  • BITOP OR destkey key [key ...] ,對一個或多個 key 求邏輯或,並將結果保存到 destkey 。
  • BITOP XOR destkey key [key ...] ,對一個或多個 key 求邏輯異或,並將結果保存到 destkey 。
  • BITOP NOT destkey key ,對給定 key 求邏輯非,並將結果保存到 destkey 。

結論:bitmaps並非萬精油,假設天天的量不多,好比只有10萬(大量的殭屍用戶),這時用bitmaps不太合適blog

HypeLoglog:內存

詳解

並非新型的數據結構(實際類型是字符串類型),而是一種基數算法

pfadd key elements 添加元素

pfcount key 計算獨立用戶數

info memery 查看內存

pfmerge destkey sourcekey 合併,並集

結論:內存佔用量少,可是存在錯誤率,量多允許必定的偏差率能夠選擇

相關文章
相關標籤/搜索