Redis 的 BITCOUNT 命令用于计算给定 字符串 中,被设置为 1 的比特位的数量。一般情况下,给定的整个字符串都会被进行计数,通过指定额外的 START 或 END 参数,可以让计数只在特定的位上进行。
START 和 END 参数的设置和 GETRANGE 命令类似,都可以使用负数值:比如 -1 表示最后一个位,而 -2 表示倒数第二个位,以此类推。
不存在的 KEY 被当成是空字符串来处理,因此对一个不存在的 KEY 进行 BITCOUNT 操作,结果为 0 。
192.168.98.70:6379> BITCOUNT KEY [START] [END]
参数 | 作用 |
---|---|
KEY | 需要计算的 KEY |
START | 统计的开始索引 |
END | 统计的结束索引 |
被设置为 1 的位的数量。
O(N)
>= 2.6.0
当 KEY 不存在,返回 0
# KEY 不存在
192.168.98.70:6379> BITCOUNT www.haicoder.net
(integer) 0
当 KEY 不存在时,BITCOUNT 命令返回 0。
当 KEY 存在时,返回 1 的个数
# KEY 存在
192.168.98.70:6379> SETBIT www.haicoder.net 0 1
(integer) 0
192.168.98.70:6379> BITCOUNT www.haicoder.net
(integer) 1
192.168.98.70:6379> SETBIT www.haicoder.net 1 1
(integer) 0
192.168.98.70:6379> SETBIT www.haicoder.net 2 1
(integer) 0
192.168.98.70:6379> BITCOUNT www.haicoder.net
(integer) 3
我们首先,使用 SETBIT 命令设置第 0 位数字为 1。使用 BITCOUNT 命令,查看 KEY 中 1 的位数为 1 位。
接着,使用 SETBIT 命令设置第 1 位数字为 1。使用 SETBIT 命令设置第 2 位数字为 1。最后,使用 BITCOUNT 命令,查看 KEY 中 1 的位数为 3 位。
Redis 的 BITCOUNT 命令用于计算给定字符串中,被设置为 1 的比特位的数量。Redis BITCOUNT 命令语法:
192.168.98.70:6379> BITCOUNT KEY [START] [END]