koushr

redis string使用

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。

分类:

技术点:

相关文章: