有一批海量的设备ID,都是MD5的32字节的字符串,想用Bitmap索引来保存每个设备的某个状态(0或1),但需要把设备ID一一映射到bitmap对象的每一位上,其实就是要把对设备进行整型数字的编码。
开始想用mysql表的自增列来实现,先查询,没有就插入,再取自增的ID,但这样在高并发的情况下,mysql单点可能支撑不住,不知道有没有其它好的办法可以实现设备ID到Integer的映射。
有一批海量的设备ID,都是MD5的32字节的字符串,想用Bitmap索引来保存每个设备的某个状态(0或1),但需要把设备ID一一映射到bitmap对象的每一位上,其实就是要把对设备进行整型数字的编码。
开始想用mysql表的自增列来实现,先查询,没有就插入,再取自增的ID,但这样在高并发的情况下,mysql单点可能支撑不住,不知道有没有其它好的办法可以实现设备ID到Integer的映射。
4 回答1.6k 阅读✓ 已解决
8 回答1.4k 阅读
3 回答1.2k 阅读✓ 已解决
4 回答2.1k 阅读
3 回答1.1k 阅读✓ 已解决
2 回答1.7k 阅读
1 回答941 阅读✓ 已解决
用GUID啊。在你需要一个id,但是又不需要规定它的类型,和这个id到底是什么意思,而仅仅是需要不同的值的情况下,GUID是你最好的选择。而且在每一个平台上都有GUID的本地表达方法,所以不用担心数据拿下来没法读的现象。
不过话说回来,为什么一定要是int?如果这只是你内心的强迫症的话,你不如就是用设备自己的32字节的字符串好了。反正你给数据库加索引,都是差不多的。