记一笔redis bitmap 的坑
获取redis的bitmap 为1 的id
import (
"fmt"
//"github.com/imroc/biu"
"time"
)
func BitToId(str []byte) []int {
//求出num 存在1 的数量假设 1
bits := make([]int, 0)
len := len(str)
fmt.Println(len)
for i, b := range str {
for j := 0; j < 8; j++ {
if b&(1<<uint(7-j)) != 0 {
bits = append(bits, (len-i-1)*8+j)
}
}
}
return bits
}
func main() {
start := time.Now().UnixNano()
fmt.Printf("开始 时间戳(纳秒):%v;\n", start)
var str []byte = []byte("abc")
_ = BitToId(str)
fmt.Printf("结束 时间戳(纳秒):%v;\n", time.Now().UnixNano()-start)
}
网友评论