关于使用bitmap实现统计用户是否在线
来源:4-3 压力测试
菠萝吹雪gz
2020-12-16
用户ID为400、1221、379 的用户在 16、17号在线:
统计了16、17号在线的用户数:
共三个人 结果是我想要的,但是我想 获取到这三个人的 主键ID,使用下面的命令总是获取最后一个用户的主键ID 前两个没有获取到,还请老师指点:如何获取 totalonlineuser 中所有 1的位置

写回答
1回答
-
我们能确定的是你的这个数组下标会很长,因此你设计的是保存userId(应该是自增吧),这样插入的字节数组的长度有可能超过无符号或者有符号的最大长度,因此使用bitfield指令无法把它解析成十进制在进行获取(像我课程里面一个月的长度刚刚好),像你使用bitpos totalonlineuser 1 这只能获取第一个值为1的下标位置,它也不能获取所有的,所以我的想法是要么换个思路去解决这个在线人数的id问题,比如用sets集合
012020-12-16
相似问题
为什么要使用is_valid标识符呢
回答 1
关于连续签到和统计签到的问题
回答 1