情景:一亿个用户,用户有活跃用户,不活跃用户,如何来记录用户的登陆信息,如何来查询活跃用户,比如一周内登陆5次的用户。
1/0 登陆表示1,没登录表示0,用bit表示即可。
假设有7个用户:
周一:1 0 1 0 1 1 1
周二:1 1 1 1 0 0 0
... ...
周日:1 1 1 0 0 0 1
那么一周连续登陆 0 1 0 0 0 0 1 and操作生成
1/0 登陆表示1,没登录表示0,用bit表示即可。
假设有7个用户:
周一:1 0 1 0 1 1 1
周二:1 1 1 1 0 0 0
... ...
周日:1 1 1 0 0 0 1
那么一周连续登陆 0 1 0 0 0 0 1 and操作生成
点击(此处)折叠或打开
127.0.0.1:6379> setbit mon 100000000 0
(integer) 0
127.0.0.1:6379> setbit mon 1 1
(integer) 0
127.0.0.1:6379> setbit mon 3 1
(integer) 0
127.0.0.1:6379> setbit mon 5 1
(integer) 0
127.0.0.1:6379> setbit mon 6 1
(integer) 0
127.0.0.1:6379> setbit mon 7 1
(integer) 0
127.0.0.1:6379> setbit tus 1 1
(integer) 0
127.0.0.1:6379> setbit tus 2 1
(integer) 0
127.0.0.1:6379> setbit tus 3 1
(integer) 0
127.0.0.1:6379> setbit tus 4 1
(integer) 0
127.0.0.1:6379> bitop and res mon tus
(integer) 12500001
(integer) 0
127.0.0.1:6379> setbit mon 1 1
(integer) 0
127.0.0.1:6379> setbit mon 3 1
(integer) 0
127.0.0.1:6379> setbit mon 5 1
(integer) 0
127.0.0.1:6379> setbit mon 6 1
(integer) 0
127.0.0.1:6379> setbit mon 7 1
(integer) 0
127.0.0.1:6379> setbit tus 1 1
(integer) 0
127.0.0.1:6379> setbit tus 2 1
(integer) 0
127.0.0.1:6379> setbit tus 3 1
(integer) 0
127.0.0.1:6379> setbit tus 4 1
(integer) 0
127.0.0.1:6379> bitop and res mon tus
(integer) 12500001
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29990276/viewspace-1776261/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29990276/viewspace-1776261/