1>set
set name zhangsan :OK
get name: zhangsan
set name lisi:OK
get name: lisi
2> setnx 若是存在,返回0,不覆蓋原值
setnx name lisi :0
get name: lisi
setnx age 15:1
get age: 15
3> setex 若是不存在,則新建;若是存在,則覆蓋( 有新的參數 有效時間)
set age 5 15:OK (不管如何都會返回OK)
get age: 15 (5S 以後消失)
4>setrange 設置子串
setrange name 1 a :4(輸出name的長度)
get name : lasi
setrange name 1 bcdef:6(輸出name的長度)
get name :lbcdef
setrange name 6 t:7(由於長度爲6在角標6的位置添加"t"字符,會拉長字符串)
get name : lbcdeft
setrange name 9 ss:11(從角標9開始,添加"ss"字符串,長度變爲11)
get name:lbcdeft\x00\x00\x00ss (空白處由"\x00"填充)
即,若是要替換的字符串不夠長,則替換響應長度的字符串,若是過長,則會日後拼接
第一次替換了i->a 長度未變
第二次替換了asi->bcdef 長度增長
5> mset 批量設置
msetnx name zhangsan name1 lisi:OK(不管存在與否,都會返回OK,即不管存在與否都會賦值進去)
使用setex清除現有字段
setex name 1 1:OK
setex age 1 1:OK
6>msetnx 一次設置多個key的值,成功則返回OK表示全部的值都設置了,失敗則返回0表示沒有任何值被設置,原值不會被覆蓋
msetnx name zhangsan name1 lisi:OK
get name:zhangsan
get name1:lisi
msetnx name zhangsan1 name1 lisi1:0
7>get 獲取字符串內容
8>getset 既獲取又設置
getset zhangsan1:zhangsan(返回被替換掉的內容)
9>getrange 獲取子串 ex:getrange name 0 5
getrange name 0 1 :zh
getrange name 0 -1:zhangsan1(-1表示獲取到字符串尾部)
getrange name 1 -1:hangsan1
getrange name 0 15:zhangsan1(15>長度9,也會選擇全部內容,並不會拼接空格或者什麼)
getrange name 0 8 :zhangsan1(長度9,選擇0-8,會選擇全部內容,角標從0開始)
getrange name 15 -1:""(空字符串)
getrange name 15 16:""(空字符串)
10>mget 一次獲取多個key的value 若是key不存在則返回 nil
get name name1:
1) zhangsan1
2) lisi
get name name2:
1)zhangsan1
2)nil
11>incr 對value進行++操做
incr name: <error>(如今name=zhangsan1 並不是數字)
set age 20:OK
get age :20
incr age:21(返回+1後的值)
get age:21
12>incrby 對value進行+x操做
incrby age 5:26(返回+x後的值)
get age:26
13>decr 對value進行--操做
14>decrby 對value進行-x操做
15>append 追加
append name lisi:13 (9+4=13,返回追加後的字符串的長度)
get name:zhangsan1lisi
16>strlen 獲取長度