Redis-位圖法實現簡單統計


比如一個網站有1億個用戶, 現在要統計一周內連續登錄的用戶


方法:
可以用一個字節8個位表示7個人, 首位不算固定為0, 若某人周一登錄則置為1, 沒登錄則為0

127.0.0.1:6379> set mon 01010100
OK
127.0.0.1:6379> set thu 01100101
OK
127.0.0.1:6379> 
......
127.0.0.1:6379> set sun 00010111
OK
127.0.0.1:6379> 

使用 bitop operation 進行and操作得到

127.0.0.1:6379> bitop and mon mon thu sun
(integer) 8
127.0.0.1:6379> get mon
"00000100"
127.0.0.1:6379> 

表明只有第五位用戶連續一周登錄


位圖法非常節省空間


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM