redis的bitmap能设置最大的长度是多少, 为什么可以设置的最大长度位数是2^32, 怎么计算bitmap会占用多大的空间

前提:  实际上, redis只支持5种数据类型. 并没有bitmap. 也就是bitmap是基于redis的字符串类型的. 而一个字符串类型最多存储512M.

首先: 计算机的单位换算先了解下

         8 bit = 1byte  

         1024 byte = 1kb

         1024 kb = 1Mb

其次:

      我们使用的bitmap指令SETBIT  key  offset value, 这个指令就是将第offset设置成0或1.  比如 SETBIT  ss  1000 1 //就是将1000位置为1.  1 bit就是1位,  所以我们只要将512M换算成bit, 那么就知道bitmap支持的最大设置长度了.  计算如下

      8 * 1024 * 1024 * 512  =  2^32    (所以这个结果就是这么来的) 

 

怎么计算自己的bitmap会大概占用多大的存储空间呢?  

举个栗子: 今有一个bitmap最大长度1024, 需要占用多大的空间?

解: 长度1024也就是他需要1024个位(bit),  或者单位为byte就是需要 1024 / 8, 即需要128byte

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章