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 获取长度