感谢uu们的观看,话不多说开始~
对于这个问题,我们需要先来了解一下~
海量数据都可以用bitmap来存储,因为占得内存小,速度也很快
我大概计算了一下~
完全够:
String类型=512M
1byte = 8个bit位 = 8个状态
512M=1024byte*1024*512*8=4294967296个状态,所以呢,用bitmap我们的内存是可以存下的
bitmap 0 0 0 0 0 0 0 0 0 0 0 0 0
0 1 2 3 4 5 6 7 8 9 10 11 12 ....4294967296
主要怎么使用呢?
连续签到或者连续登陆?
可以用每天或者用户Id两个维度来存储bitmap
但是存储方式不一样,统计的方式也不一样
如:(根据每天)(适用用户量多的)
前提(Id是唯一的数字,比如id为5),那么你第一天 用户5 登录了,你可以存储为一...第二天...二...以此类推,到最后一天,以当天为起点,然后往前面推算,凡是碰到1的,就把他给统计,碰到0,就不再给用户继续统计,即可!但缺点(如图所示),不建议统计超过30天(如游戏签到)
因为统计太长内存变多数量增加,30天就设置key为30,过期就结束~