127.0.0.1:6379> append name hello (integer) 5 127.0.0.1:6379> get name "hello" 127.0.0.1:6379> append name redis (integer) 10 127.0.0.1:6379> get name "helloredis"
127.0.0.1:6379> set age 20 OK 127.0.0.1:6379> decr age (integer) 19 127.0.0.1:6379> set nick tom OK 127.0.0.1:6379> decr nick (error) ERR value is not an integer or out of range
decrby
decrby 和 decr 类型,不同的是 decrby 可以指定步长。如下:
1 2 3 4 5
127.0.0.1:6379> get age "19" 127.0.0.1:6379> decrby age 5 (integer) 14
get
get命令就是用来获取指定key的value。如果不存在则返回nil。如下:
1 2 3 4
127.0.0.1:6379> get age "14" 127.0.0.1:6379> get newAge (nil)
getset
getset命令可以用来获取key所对应的value,并对key进行重置。如下:
1 2 3 4 5 6 7 8 9 10
127.0.0.1:6379> set name ouYang OK 127.0.0.1:6379> getset name ooyhao "ouYang" 127.0.0.1:6379> get name "ooyhao" 127.0.0.1:6379> getset newName zhangsan (nil) 127.0.0.1:6379> get newName "zhangsan"
127.0.0.1:6379> incr age (integer) 1 127.0.0.1:6379> get age "1" 127.0.0.1:6379> set newAge a OK 127.0.0.1:6379> incr newAge (error) ERR value is not an integer or out of range
incrby
incrby 和 incr 功能类似,不同的是可以指定增长步长。如下:
1 2 3 4 5 6
127.0.0.1:6379> get age "1" 127.0.0.1:6379> incrby age 10 (integer) 11 127.0.0.1:6379> get age "11"
incrbyfloat
incrbyfloat 命令可以用来增长浮点数。如下:
1 2 3 4
127.0.0.1:6379> get age "11" 127.0.0.1:6379> incrbyfloat age 1.5 "12.5"
mget 与 mset
mget与mset分别用来批量设置值和批量获取值。如下:
1 2 3 4 5 6
127.0.0.1:6379> mset name ooyhao age 23 sex male OK 127.0.0.1:6379> mget name age sex 1) "ooyhao" 2) "23" 3) "male"
127.0.0.1:6379> setex name 30 zhangsan OK 127.0.0.1:6379> get name "zhangsan" 127.0.0.1:6379> ttl name (integer) 24
psetex
psetex 的作用和setex类似,不同的是,这里设置过期时间的单位是毫秒值。如下:
1 2 3 4 5 6 7 8
127.0.0.1:6379> psetex age 30000 23 OK 127.0.0.1:6379> get age "23" 127.0.0.1:6379> ttl age (integer) 22 127.0.0.1:6379> pttl age (integer) 17430
setnx
setnx 是set if not exists 的简写,set命令在执行时,如果key已经存在,则新值会覆盖掉旧值,而对于setnx来说,如果key已经存在,则不做任何操作,如果key不存在,则效果等同于set命令。如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
127.0.0.1:6379> set name ooyhao OK 127.0.0.1:6379> setnx name zhangsan (integer) 0 127.0.0.1:6379> get name "ooyhao" 127.0.0.1:6379> 127.0.0.1:6379> 127.0.0.1:6379> get age (nil) 127.0.0.1:6379> setnx age 23 (integer) 1 127.0.0.1:6379> get age "23"
127.0.0.1:6379> keys * (empty list or set) 127.0.0.1:6379> set name ouYang OK 127.0.0.1:6379> msetnx name ooyhao age 23 (integer) 0 127.0.0.1:6379> get name "ouYang" 127.0.0.1:6379> get age (nil)
127.0.0.1:6379> set str helloworld OK 127.0.0.1:6379> get str "helloworld" 127.0.0.1:6379> setrange str 5 redis (integer) 10 127.0.0.1:6379> get str "helloredis"
但是如果已经存在的key所对应的value的长度小于offset。则不足的地方用0来补齐。如下:
1 2 3 4 5 6
127.0.0.1:6379> set newStr helloredis OK 127.0.0.1:6379> setrange newStr 20 --java (integer) 26 127.0.0.1:6379> get newStr "helloredis\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00--java"
strlen
strlen 命令用来计算key的value的长度。如下:
1 2 3 4
127.0.0.1:6379> set name ouYangHao OK 127.0.0.1:6379> strlen name (integer) 9