Redis和PHP的Bitmap于二进制串的相互转换
PHP中有实现无限整数的位运算扩展:GMP,对于平常的id使用够用了,但是超大量(id位数上千万甚至亿)的运算会比较耗内存。错题集的存储,需要有正确的题号id集合,错误的题号id集合,两者并集后在全量题的集合中取反就是未答题号id。基于场景的数据结构设计,有试过列表等,测试结果:bitmap要比列表方式节省10倍的空间使用;操作系统中的位运算,64位的,最大仅支持 0 ~63 之间的位移,但是id没有长度限制。将id对应二进制串的位数进行存储,有该id,就将位数的值设置为1,反之为0。
原创
2024-06-28 12:07:56 ·
579 阅读 ·
0 评论