日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Redis bitmap使用场景示例

發布時間:2025/1/21 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Redis bitmap使用场景示例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

bitmap兩個應用場景:

setbit命令:

offset:是二進制位的偏移量,而不是字節數組。一個字節有8個二進制位

將k1的第一個(索引為0)二進制位設置為1:

在ASCII碼表中,01000000剛好就是@:

將k1的第八個(索引為7)二進制位設置為1:01000001對應的就是A

使用man ascii來驗證:

將第十個二進制位(索引為9)的值設置為1:得到的結果將是A@,就是將兩個字節按照ASCII表分別轉換為字符后拼接起來

setbit k2 1 1

setbit k2 6 1

得到'B'

將k1和k2進行與運算:與運算,遇0則0,全為1則為1

將k1和k2進行或運算:或運算,遇1則1,全為0則為0

bitmap的應用場景一:

統計用戶的登錄天數,且窗口隨機。

460M能存儲1000萬用戶全年365天的登錄明細:365/8=46B(字節)

(01,02,03,04為日期;sean,json為用戶id)

比如:用戶sean第2天登錄過,第8天,第365天登錄過:

統計一個用戶一年內的登錄天數頂多需要46字節:

計算用戶sean最后兩周的登錄天數:(最后一周是-1,倒數第二周是-2),結果是1次

bitcount 統計的是1的個數 ?bitcount test 0 -1 就是所有的 ?bitcount 0 0 那么就應該是第一個字節中1的數量的

正反向索引:

統計活躍用戶數:以登錄日期為key;重復登錄要去重;進行or或運算(有1則1);

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

總結

以上是生活随笔為你收集整理的Redis bitmap使用场景示例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。