二进制使用の业务场景

场景一

记录用户的登录情况(日期、次数)。
以用户id为key,值为 bitmap,例如 zhangsan: 0110…0,可以表示用户 zhangsan 在这段时间 第2、第3 天有登录,统计 位值是1 的个数,即登录日期。


场景二

记录某一日期的登录用户。
以日期为key,值为 bitmap,例如 20201128: 0110…0,可以表示 2020-11-28 这一天,用户id=1、id=2 有登录,统计 位值是1 的个数,即当天登录人数。


场景三

使用bitmap表示火车票乘坐区间。比如一张火车票从 a站 到 e站,途径 b c d三站,假设某人占座从b站到c站,那么可以用 01100 来表示。

更详细的参考:

https://blog.csdn.net/guozhifeng2011/article/details/50670417

https://www.cnblogs.com/luckcs/articles/2698096.html

https://www.cnblogs.com/feichengwurao/p/5191253.html

https://www.cnblogs.com/bluedoctor/archive/2012/09/21/2697206.html


场景四

时间区间校验,比如 某一广告只能在一天 12-15、18-20 这两个时间段投放,那么后端可以把一天24个小时用24位表示,那个这个广告的投放标识就是 000000000000111000110000 ,当判断是否可以投放时,就需要看当前小时对应的 bit 位是否为 1 即可。


场景五

区间匹配。比如某一类型的广告位只允许 S级、A级 的广告主投放,而广告主等级有 S、A、B、C 之分,那么可以可以对该广告位设置一个 广告主投放等级的bitmap标识 - 11000,而广告主等级的 bitmap标识分别是 10000、01000、00100、00010、00001,那么判断是否可以投放只要作位运算即可。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值