使用 Redis Bitmap 實現用戶上線次數統計

Bitmap 對於一些特定類型的計算非常有效。

假設現在我們希望記錄自己網站上的用戶的上線頻率,比如說,計算用戶 A 上線了多少天,用戶 B 上線了多少天,諸如此類,以此作爲數據,從而決定讓哪些用戶參加 beta 測試等活動 —— 這個模式可以使用 SETBITBITCOUNT 來實現。

比如說,每當用戶在某一天上線的時候,我們就使用 SETBIT ,以用戶名作爲 key將那天所代表的網站的上線日作爲 offset 參數,並將這個 offset 上的爲設置爲 1 。

舉個例子,如果今天是網站上線的第 100 天,而用戶 peter 在今天閱覽過網站,那麼執行命令 SETBIT peter 100 1 ;如果明天 peter 也繼續閱覽網站,那麼執行命令 SETBIT peter 101 1 ,以此類推。

當要計算 peter 總共以來的上線次數時,就使用 BITCOUNT 命令:執行 BITCOUNT peter ,得出的結果就是 peter 上線的總天數。

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