Redis Getbit和Setbit详解

仅为个人理解,如有错误,请指正。

 说明:string数据类型可以直接存储数字和字符串,存储方式是以二进制方式进行存储。

            getbit和setbit是获取和设置指定位置上的偏移量的位,也就是位置的bit值,bit值只有0和1。

            获取方式不是从低位到高位,而是从高位到低位。

  举例存储数字1

            存储:set  num 1,数字1二进制存为:00110001 

            获取:getbit num 结果为:00110001

            设置:setbit num 1  1,结果为01110001,对应的字符为小写q

            查看:get num,结果为q

举例存储字符我

           存储:set  str  ‘我’,字符‘我’使用UTF8编码后230,136,145,转换为二进制11100110,10001000,10010001

           获取:getbit str 结果为:00100010,11100110,10001000,10010001,00100010,其原因是存储字符串会使用双引号包裹,双引号的二进制为00100010

          设置:setbit str  19 0,setbit str  24 1,setbit str 26 1,setbit str 27 0,setbit str  28 1,setbit str 29 1,setbit str  30 1

                   最后存储的结果:00100010,11100110,10011000,10101111,00100010

                   其实修改的目标是修改为‘是’的二进制值了。 

          读取:get str 返回 是

通过C# ServiceStack.Redis进行验证正确。

你可能感兴趣的:(Redis)