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

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