string
1、set:设置key的值
语法:set key value [Ex seconds | Px milliseconds] [Nx | Xx]
如set a zhangsan,设置a的值为zhangsan。
set b zhangsan ex 60,设置b的值为zhangsan,并设置过期时间为60s。
set c zhangsan px 60000,设置c的值是zhangsan,并设置过期时间为60000ms。
set d zhangsan ex 60 nx,如果d不存在,则设置d的值是zhangsan,并设置过期时间为60s,否认不做任何操作。
set e zhangsan ex 60 xx,更新e的值为zhangsan,并设置过期时间为60s,如果e不存在,则不做任何操作。
有2点需要注意:
1)、set一个已经存在的其他类型的key,不会报错。
2)、一个有过期时间的key,再次set时没有指定过期时间,那么过期时间会失效。
相近命令:setex、psetex、setnx、mset、msetnx、
setex:相当于set加上ex选项
语法:setex key seconds value
如setex a 60 zhangsan
psetex:相当于set加上px选项
语法:psetex key milliseconds value
如psetex a 60000 zhangsan
setnx:相当于set加上nx选项
语法:setnx key value
如setnx b zhangsan
mset:一次性设置多个键值对,但不能同时设置过期时间
语法:mset key value [key value . . .]
如mset a zhangsan b zhangsan c zhangsan
msetnx:一次性设置多个键值对,但不能同时设置过期时间,且要设置的key只要有一个已经存在,则msetnx一个都不会设置成功。
语法:msetnx key value [key value . . .]
如msetnx a zhangsan b zhangsan,执行keys *,可以看到有2个key,a和b。
再执行msetnx c zhangsan a lisi,执行keys *,可以看到依旧只有2个key,c没有设置成功,且a的值依旧是zhangsan。
2、get:获取key对应的值
语法:get key
如get a
相近命令:getset、mget
getset:在获取key对应的值的同时设置新值
语法:getset key value
如getset a lisi,会返回lisi。
mget:一次性获取多个值
语法:mget key [key . . .]
如mget a b c,会返回lisi,zhangsan,zhangsan。
3、append:在key对应的值后面拼接指定字符串
语法:append key value
如append a feng,给a的值拼接"feng",这时执行get a,会返回zhangsanfeng。
4、incr:给某个key对应的值加1,要求key对应的值是整数型字符串。
语法:incr key
假如set age 25,即age的值是"25",incr age,这时执行get age,会返回"26"。
相近命令:incrby、incrbyfloat、decr、decrby
incrby:给某个key的值增加指定值,要求原值和增量必须都是整数,否则要用incrbyfloat
语法:incrby key increment
increment大于0时,表示增加,increment小于0时,表示减少。
如incrby age 5,给a的值增加5,这时执行get age,会返回"31"。
incrby age -5,给a的值减少5,这是执行get age,会返回"26"。
incrbyfloat
语法:incrbyfloat key increment
如incrbyfloat age 0.5,这时执行get age,会返回"26.5"。
decr、decrby分别是incr、incrby的反向操作。
10、strlen:获取key对应的字符串的长度
语法:strlen key
如strlen age,返回4。
从6.2.0开始,新增了getex、getdel,getex可以在获取值的同时设置过期时间,getdel可以在获取值的同时删除这个key。