redis位计数命令是如何工作的?
setbit test 1 1 setbit test 3 1
数比特。
bitcount test
返回2
距离计数。
bitcount test 1 2
返回0
为什么?我想我应该得到1之间的位位置1和2,我们只有一位设置。
发布于 2021-06-26 00:11:57
start和end参数引用字节。因此,您需要的是字符串的第二个和第三个字节中的位数。您只在第一个字节中设置了位,所以答案是0。
start
end
0
不幸的是,BITCOUNT的文档没有解释这一点,但是在BITPOS的文档中提到了
BITCOUNT
BITPOS
只可以在指定的间隔内查找位,传递附加的参数开始和结束.范围被解释为字节的范围,而不是位的范围,因此start=0和end=2意味着查看前三个字节。
start=0
end=2
https://stackoverflow.com/questions/68137699
相似问题