bitmap

记录下bitmap的两个应用场景,bitmap的用法,set key offset value。
1、统计单日用户活跃数数
假设 2020-10-13,有用户id为123456,123457,123458的用户登陆
假设 2020-10-14,有用户id为123456的用户登陆
bitset 20201013 123456 1
bitset 20201013 123457 1
bitset 20201013 123458 1
bitset 20201014 123456 1
统计20201013 这天有多少人登陆:
bitcount 20201013
统计2020-10-13到2020-10-14这两天有多少人登陆
bittop or res 20201013 20201014
bitcount res 0 -1

2、统计一个用户的登陆情况
假设 2020-10-13,有用户id为123456登陆了
假设 2020-10-14,有用户id为123456登陆了
bitset 123456 20201013 1
bitset 123456 20201014 1
统计 123456的登陆天数:
bitcount 123456 或这 bitcount 123456 20200101 20201230

3、关于区间内连续登陆问题,比如统计123456从20201001 到20201007是不是连续7天登陆
可以这么设计,offset代表第1天,第2天..
bitset 123456 1 1
bitset 123456 2 1
判断是不是连续7天登陆
getbit 123456拿到值和11111110做与运算或异或运算
这样设计就要单独创建数据空间,不能用到上面第二种的这种数据bitset 123456 20201013 1,很可惜没有支持这种api,getbit key start end。

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容