setbit key offset value 设置
getbit key offset 取值
bitcount key [start] [end] 计数
bitpos key bit [start] [end] 查找
bitcount命令:
语法:bitcount key [start] [end]
计算给定字符串中,被甚至为1的比特位的数量。
默认情况下,给定的整个字符串都会被进行计数,可以通过start、end指定区间中指定计数操作start和end可以包含负值,以便从字符串末尾开始索引字节,其中-1是最后一个字节,以此类推不存在的键被视为空字符串,返回0
返回值:
被设置为1的位的数量。
举例:
set m "ab" 0110000101100010
bitcount m 返回6
bitcount m 0 0 也就是a 返回3
bitcount m 1 1 也就是b 返回3
bitpos命令:
语法:BITPOS key bit [start] [end]
返回字符串里面第一个被设置为1或者0的bit位。
默认情况下整个字符串都会被检索一次,只有在指定start和end参数(指定start和end位是可行的),该范围被解释为一个字节的范围,而不是一系列的位。所以start=0 并且 end=2是指前三个字节范围内查找。
注意,返回的位的位置始终是从0开始的,即使使用了start来指定了一个开始字节也是这样
如果我们在空字符串或者0字节的字符串里面查找bit为1的内容,那么结果将返回-1。
如果我们在字符串里面查找bit为0而且字符串只包含1的值时,将返回字符串最右边的第一个空位。如果有一个字符串是三个字节的值为0xff的字符串,那么命令BITPOS key 0将会返回24,因为0-23位都是1。
基本上,我们可以把字符串看成右边有无数个0。
然而,如果你用指定start和end范围进行查找指定值时,如果该范围内没有对应值,结果将返回-1。
注意
- [start] [end] 指的都是字节数
- 不存在的key将会被当做空字符串来处理
网友评论