Redis string(字符串)相关命令
1、getset key newvalue //给key设置value,并返回旧的value,如果没有旧的value,返回nil。
示例:
set age 10
getset age 20 //age 的值被设置为20,并返回旧的值10
2、getrange key start end //获取value的部分
set content "hello world!"
getrange content 0 4 //返回content对应value的[0,4]上的字符,"hello",下标
getrange content 0 -1 //支持负数索引,-1表示最后一个字符
3、mget key1 key2 ...... //mget即multiple get,同时获取多个key的value,若某个key不存在,该key返回nil
4、setex key timeout value //setex即set expire,给key设置timeout、value,若key已存在,会覆盖原来的timeout、value
示例:
setex age 60 10 //设置age 60s后过期,value为10
5、setnx key value //在 key 不存在时,为 key 设置value,设置成功返回1;若key已存在,不执行(不会替换原来的value),返回0。
示例:
set age 10 //若age已存在,会则覆盖value
setnx age 20 //age不存在时才设置,age已存在就不设置(不会覆盖原来的value)
6、mset key1 value1 key2 value2 ...... //mset即multiple set。同时设置多个键值对。因为是set,所以若某个key已存在,会覆盖。
示例: mset name "lisi" age 20
7、msetnx key1 value1 key2 value2 ...... //msetnx即multiple setnx,当key不存在时才设置该key,已存在就不设置该key
8、append key content //若key已存在,则在value末尾追加content;若key不存在,则为其设置值,此时相当于set key value。返回操作过后,value(新)的长度
示例:
append str "hello" //之前str不存在,此句命令相当于set str "hello"
append str " world!" //之前str已存在,则在其末尾追加" world!",现在str的值变为"hello world!"
9、incr key //incr即increase,如果value是整数(可以是负整数),将value的值+1,并返回操作后的value。如果value不是整数,提示错误。如果key不存在,先将value初始化为0,再执行+1。
示例:
set age 10 //等价于set age "10"。
incr age //value的值+1,变为11,并返回11。value是整数才会+1。
get age //11
incr price //之前price不存在,value会先初始化为0,再+1,返回1
get price //1
10、incrby key amount //同上,只不过是+amout,不是+1。原来的value要是整数,amount也要是整数,否则提示错误。若key不存在,先初始化value为0。支持负整数(即减)。
示例:
set age 20
incrby age 5 //+5
get age //25
11、incrbyfloat key amount //同上,只不过原来的value可以是浮点数,增量amount也可以是浮点数。当然,整数也行。支持负数(减)。
示例:
set price 2.3
incrbyfloat price 1.5
get price //3.8
12、decr key //同incr key只不过decr是减。decr即decrease。
13、decrby key amount //同incrby key amount,只不过是减
crease,加前缀in是加,加前缀de是减。
推荐阅读