扫码一下
查看教程更方便
Redis Setbit 命令用于对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)。
根据值 value 是 1 或 0 来决定设置或清除位 bit。当 key 不存在时会创建一个新的字符串。
当字符串不够长时,字符串的长度将增大,以确保它可以在offset位置存储值。
offset 参数需要大于等于0,并且小于 232 (bitmaps 最大 512MB)。
当值字符串变长时,添加的 bit 会被设置为 0。
注意: 当设置的是最后一位 bit (offset 等于 232 -1),并且存储在 key 中的字符串还没有存储一个字符串值,或者存储的是一个短的字符串值时,Redis 需要分配所有的中间内存,这会阻塞 Redis 服务器一段时间。
redis Setbit 命令基本语法如下:
redis 127.0.0.1:6379> Setbit KEY_NAME OFFSET
>= 2.2.0
指定偏移量原来储存的位。
redis 127.0.0.1:6379> SETBIT bit 10086 1
(integer) 0
redis 127.0.0.1:6379> GETBIT bit 10086
(integer) 1
redis 127.0.0.1:6379> GETBIT bit 100 # bit 默认被初始化为 0
(integer) 0
SETBIT 命令的时间复杂度:O(1)