1. 程式人生 > 其它 >《Redis設計與實現》讀書筆記(三十五) ——Redis 二進位制位陣列及SWAR漢明重量演算法

《Redis設計與實現》讀書筆記(三十五) ——Redis 二進位制位陣列及SWAR漢明重量演算法

《Redis設計與實現》讀書筆記(三十五) ——Redis 二進位制位陣列及SWAR漢明重量演算法

(原創內容,轉載請註明來源,謝謝)

一、基本概念

redis提供了setbit、getbit、bitcount、bitop四個命令用於處理二進位制陣列,稱為bit array,又叫位陣列。

setbit命令用於位陣列指定偏移量上的二進位制設定值,偏移量從0開始計算,值可以是0或者是1。

getbit獲取指定位置上的值。

bitcount統計位數組裡面,值為1的二進位制位的數量。

bitop可以有and、or、xor,即與、或、異或的位運算。

二、位陣列的表示

redis使用字串物件sds來表示位陣列,因為其資料結構是二進位制安全的。因此,其末尾也會用