setbit 对 key 对应值的二进制表示的位进行操作,这个功能用的是真不多,但是效率绝对是最快的,但是个人建议,就是1和0之间的改变,不然挺麻烦的。
setbit(name, offset, value)
- name - redis的name
- offset - 位的索引(将值变换成二进制后再进行索引)
- value - 值只能是 1 或 0
注:如果在Redis中有一个对应: n1 = "1",
那么字符串1也就是字符1的二进制表示为:00110001(49)
所以,如果执行 setbit('n1', 7, 0),也就是最后一位的1改为0,
那么最终二进制则变成 00110000,即:"48"
扩展,转换二进制表示:
【话说咱们已经到demo8.py了】
输入以下编码:
import redis r = redis.Redis(host='localhost', port=6379, decode_responses=True) r.set('n1',1)#1是49=00110001 r.setbit('n1',7,0)#下标第7个改成0就是=00110000 print(r.get('n1'))
在测试一个:
import redis r = redis.Redis(host='localhost', port=6379, decode_responses=True) r.set('n1',2)#2是50=00110010 r.setbit('n1',7,1)#下标第7个改成0就是=00110011 print(r.get('n1'))
完全符合。
希望能对大家有一定的帮助。欢迎一键三连,谢谢。