BitMap位图使用

2019-06-29  本文已影响0人  小风仙

原理介绍:

位图(BitMap), 可以使用极少的空间来标记海量的数据。底层是一个bit数组,使用0和1来标记数据是否存在。用8位空间就可以表示1到8的8个数字

如需要存储1至100000000一亿个整数,java用int 类型存储需要32位*100000000/8/1024/1024=381Mb空间,而bitmap需要100000000/8 /1024/1024=12Mb就可以。

实际应用:

1.记录每天登录过网站的用户id

2.对存储在文件中的1亿个大小范围的1到1亿的数字进行排序输出

对应语言实现:

1.jdk中的实现位图类BitSet

2.redis 缓存中有setbit bitCount  bitop等实现命令 ,  参考Fast easy realtime metrics using Redis bitmaps

上一篇下一篇

猜你喜欢

热点阅读