仅为个人理解,如有错误,请指正。
说明: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进行验证正确。