对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)。位的设置或清除取决于 value 参数,可以是 0 也可以是 1 。
可以把此时的字符串,理解成一个二进制字节串,setbit修改对应bit数的值,0或者1
下例可以看到
10.20.7.58:6379> setbit var 0 1
(integer) 0
10.20.7.58:6379> get var
"\x80"
10.20.7.58:6379> setbit var 7 1
(integer) 0
10.20.7.58:6379> get var
"\x81"
10.20.7.58:6379> setbit var 8 1
(integer) 0
10.20.7.58:6379> get var
"\x81\x80"
setbit var 0 1,第0位置为1之后,var的值为"\x80"对应的二进制数据为"1000 0000",
setbit var 7 1,将第7为置为1hi周,var的值为"\x81"对应的二进制数据为"1000 0001",
setbit var 8 1,将第7为置为1hi周,var的值为"\x81\x80"对应的二进制数据为"1000 0001 1000 0000",
适用于类似linux文件系统 drwxrwxrwx的权限系统,对应的位置的bit为的值为1, 即有对应的权限。
本文介绍了Redis中的setbit命令,用于对字符串存储的二进制数据进行位设置或清除。通过setbit操作,可以方便地修改字符串中特定位置的位,例如模拟权限系统。示例展示了如何使用setbit改变字符串的二进制位,并观察其对应的十六进制变化。

被折叠的 条评论
为什么被折叠?



