Redis BITCOUNT命令

Redis BITCOUNT命令教程

Redis 的 BITCOUNT 命令用于计算给定 字符串 中,被设置为 1 的比特位的数量。一般情况下,给定的整个字符串都会被进行计数,通过指定额外的 START 或 END 参数,可以让计数只在特定的位上进行。

START 和 END 参数的设置和 GETRANGE 命令类似,都可以使用负数值:比如 -1 表示最后一个位,而 -2 表示倒数第二个位,以此类推。

不存在的 KEY 被当成是空字符串来处理,因此对一个不存在的 KEY 进行 BITCOUNT 操作,结果为 0 。

Redis BITCOUNT命令详解

语法

192.168.98.70:6379> BITCOUNT KEY [START] [END]

参数

参数 作用
KEY 需要计算的 KEY
START 统计的开始索引
END 统计的结束索引

返回值

被设置为 1 的位的数量。

时间复杂度

O(N)

可用版本

>= 2.6.0

案例

KEY不存在

当 KEY 不存在,返回 0

# KEY 不存在 192.168.98.70:6379> BITCOUNT www.haicoder.net (integer) 0

当 KEY 不存在时,BITCOUNT 命令返回 0。

KEY存在

当 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命令教程

Redis 的 BITCOUNT 命令用于计算给定字符串中,被设置为 1 的比特位的数量。Redis BITCOUNT 命令语法:

192.168.98.70:6379> BITCOUNT KEY [START] [END]