Redis字符串类型的操作

设置key值

set key value [ex 秒数]/[px 毫秒数] [nx]/[xx]
解析: 1.ex/px 为有效期,同时设定的话以后设定为有效
     2.nx表示只有在key不存在时执行,xx表示只有在key存在时执行

设置多个key值

mset key1 val1 key2 val2

获取key值

get key

获取多个key值

mget key1 key2

偏移替换key值

setrange key offerset string
解析: 将以key为键的值为对象,从它的第offerset个字符开始,以字符串string对其后续字符一一替换
示例: setrange test 2 x     //假定test值为hello,更改后的值为hexlo
     setrange test 2 yzhb  //heyzhb
     setrange abc 5 def    //假定abc值为ABC,更改后的值为ABC\x00\x00def,也就是说偏移量大于字符长度时将填充\x00

追加key值

append key string

获取key值某部分

getrange key start stop  
解析: 将以key为键的值为对象,获取它的[start stop]范围内的值.应保证起始指针应该在终止指针的左侧,其他不合法情况返回空
示例: getrange code 2 4    //假定code值为hello_world,结果为llo
     getrange code 8 100  //rld.
     getrange -3 100      //index/stop正数代表从左往右数0开始,负数从右往左数-1开始.

获取并更新key值(先返回旧值,后更新值)

getset key newvalue

key值增减

incr key :增1,并返回值
decr key :减1,并返回值
incrby key num : 增加num,并返回值
decrby key num : 减少num,并返回值
incrbyfloat key num : 增加num(小数),并返回值.注意没有decrbyfloat这种操作

key值位码获取

getbit key offset
作用: 将以key为键的值的二进制码为对象,获取offset上位的值,从左,0开始偏移
示例: getbit char 1       //假定char为A,则二进制为0100 0001,返回值为1
     getbit char 2       //0
     getbit char 7       //1

key值位码设置

setbit key offset value
解析: 二进制只能为0/1,所以value不可能是其他值,否则提示错误.
     如果offset超过key值二进制码长度,则以0填充,最大长度为2^29-1,这个字符串长度占512M
示例: setbit char 7 0    //[0100 0001]=>[0100 0000],该二进制码表示值为@,该命令返回操作结果.

多key值位码运算

bitop operation destkey key1 key2 keyn
解析: 对key1,key2,keyn进行operation运算,将结果赋给destkey
     operation运算包括 AND OR NOT XOR
     NOT 逻辑非,运算只能针对单个key求反
     XOR 逻辑异或,一真一假互斥为真    
示例: 比如将任意单字符值大小写形式转化.
     1.大写字母十进制范围为65-132.即[0100 0001]-[0101 1010]
     2.小写字母十进制范围为97-122.即[0110 0001]-[0111 1010]
     3.同样字母,小写正好与大写相差32.大写转小写,只要把大写字符与一个二进制码为[0010 0000]做or运算即可
     4.[0010 0000]代表字符为space.                               // [1101 1111]

     [or:大写转小写]
     setbit lower 2 1  //可以巧妙地给lower赋空值
     set char G        
     bitop or char lower char  
     get char          //g

     [and:小写转大写]
     set up _          //[1101 1111]代表字符为_
     set char q 
     bitop and up char up
     get up            //Q

results matching ""

    No results matching ""