Redis GETBIT 命令用于对 Redis 的 KEY 所储存的 字符串 值,获取指定偏移量上的位(bit)。当 OFFSET 比字符串值的长度大,或者 KEY 不存在时,返回 0 。
192.168.98.70:6379> GETBIT KEY OFFSET
参数 | 作用 |
---|---|
KEY | 要获取的 KEY |
OFFSET | 偏移量 |
字符串值指定偏移量上的位(bit)。
O(1)
>= 2.2.0
当 KEY 不存在时,返回 0
# KEY 不存在
192.168.98.70:6379> EXISTS haicoder.net
(integer) 0
192.168.98.70:6379> GETBIT haicoder.net 1
(integer) 0
192.168.98.70:6379> GETBIT haicoder.net 10
(integer) 0
首先,我们使用 EXISTS 命令,判断键 haicoder.net 不存在。接着,使用 GETBIT 命令,获取一个不存在的 KEY 的第 1 位 bit ,返回 0 。最后,再次使用 GETBIT 命令,获取一个不存在的 KEY 的第 10 位 bit ,同样返回 0 。
当 KEY 存在时,会返回对应位的 bit 值
# KEY 存在
192.168.98.70:6379> SETBIT haicoder.net 2 1 # haicoder.net = 101100
(integer) 0
192.168.98.70:6379> SETBIT haicoder.net 3 1
(integer) 0
192.168.98.70:6379> SETBIT haicoder.net 5 1
(integer) 0
192.168.98.70:6379> GETBIT haicoder.net 0
(integer) 0
192.168.98.70:6379> GETBIT haicoder.net 1
(integer) 0
192.168.98.70:6379> GETBIT haicoder.net 2
(integer) 1
192.168.98.70:6379> GETBIT haicoder.net 3
(integer) 1
192.168.98.70:6379> GETBIT haicoder.net 4
(integer) 0
192.168.98.70:6379> GETBIT haicoder.net 5
(integer) 1
192.168.98.70:6379> DEL haicoder.net
(integer) 1
首先,使用 SETBIT 命令,设置键 haicoder.net 的第 2 位的值为 1,第 3 位的值为 1和第 5 位的值也为 1。
接着,使用 GETBIT 命令,获取键 haicoder.net 的第 0 位的值为 0,第 1 位的值为 0,第 2 位的值为 1,第 3 位的值也为 1,第 4 位的值为 0,第 5 位的值为 1。
获取超出值的长度时,返回 0
# 超出值的长度
192.168.98.70:6379> SETBIT haicoder.net 1 1 # haicoder.net = 10
(integer) 0
192.168.98.70:6379> GETBIT haicoder.net 10
(integer) 0
192.168.98.70:6379> DEL haicoder.net
(integer) 1
首先,使用 SETBIT 命令,设置 haicoder.net 的第 1 位的值为 1。接着,使用 GETBIT 命令,获取 KEY 的第 10 位的值,为 0。
Redis GETBIT 命令用于对 Redis 的 KEY 所储存的字符串值,获取指定偏移量上的位(bit)。Redis GETBIT 命令语法:
192.168.98.70:6379> GETBIT KEY OFFSET