redis in python:setbit函数的简单介绍

来源:互联网 发布:网络弱电系统图图解 编辑:程序博客网 时间:2024/05/17 22:11

setbit函数的功能是对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)。

Redis中,存储的字符串是以二级制的形式进行存储的。比如字符串“AA”的二进制形式为01000001 01000001,一共16位,每个字母用8位二进制表示。

setbit(name, offset, value):offset是从最高位算起的,最高位为第0位,比如A的ascii码为65,二进制为01000001,第0位的值为0,第7位的值为1。

所以如果想把“A”变成“B”就是把二进制01000001变成二进制01000010,做法是把第6位设置为1,第7位设置为0.

代码如下:

>>> import redis>>> r = redis.Redis()>>> r.set('xie', 'A')True>>> r.setbit('xie', 6, 1)0>>> r.setbit('xie', 7, 0)1>>> r.get('xie')b'B'>>>


把“AA”变成“BB”就是把二进制01000001 01000001变成01000010 0100010,做法是把第6位设置为1,第7位设置为0,把第14位设置为1, 第15位设置为0。

代码如下:

>>> r.set('xie', 'AA')True>>> r.setbit('xie', 6, 1)0>>> r.setbit('xie', 7, 0)1>>> r.get('xie')b'BA'>>> r.setbit('xie', 14, 1)0>>> r.setbit('xie', 15, 0)1>>> r.get('xie')b'BB'>>>


0 0
原创粉丝点击