1. 程式人生 > >使用 Redis Bitmap 實現使用者上線次數統計

使用 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 上線的總天數。