概述
string是redis最常用的数据类型,一般用于key-value缓存项设置。
redis没有int和float类型,就算存的是数值,也是以string类型记录
127.0.0.1:6379[4]> set age 30OK127.0.0.1:6379[4]> TYPE agestring
Key-Value
设置指定key的值
127.0.0.1:6379[4]> set name xiaomingOK127.0.0.1:6379[4]> get name"xiaoming"
STRLEN
说明:获取key对应value的长度格式:STRLEN key127.0.0.1:6379[4]> set name xiaomingOK127.0.0.1:6379[4]> STRLEN name(integer) 8
GETRANGE
说明:截取字符串格式:GETRANGE key start end注意:start下标从0开始计算
127.0.0.1:6379[4]> set title abcdefghijklmnOK127.0.0.1:6379[4]> GETRANGE title 1 3"bcd"
SETRANGE
说明:从start下标开始替换字符串格式:SETRANGE key start value注意:由value长度决定替换的字符数
127.0.0.1:6379[4]> set name xiaomingOK127.0.0.1:6379[4]> SETRANGE name 4 dong(integer) 8127.0.0.1:6379[4]> get name"xiaodong"127.0.0.1:6379[4]> SETRANGE name 4 a(integer) 8127.0.0.1:6379[4]> get name"xiaoaong"
APPEND
说明:追加内容格式:APPEND key value127.0.0.1:6379[4]> set name xiaomingOK127.0.0.1:6379[4]> APPEND name " hello!"(integer) 15127.0.0.1:6379[4]> get name"xiaoming hello!"
GETSET
说明:类似set命令,设置一个key-value,但是返回的是旧的value
格式:GETSET key value127.0.0.1:6379[4]> GETSET name xiaoming(nil)127.0.0.1:6379[4]> GETSET name dong"xiaoming"
MGET
说明:获取一个或多个key的值格式:MGET key1 key2 key3127.0.0.1:6379[4]> MGET name age1) "dong"2) "33"
MSET
说明:设置一个或多个key-value格式:MSET key1 value1 key2 value2 key3 value3127.0.0.1:6379[4]> MSET key1 abc key2 xyz key3 hahaOK127.0.0.1:6379[4]> keys *1) "key1"2) "key3"3) "key2"
SETEX
说明:设置key-value,并且携带过期时间格式:SETEX key expire valueexpire:单位秒
127.0.0.1:6379[4]> SETEX name 60 xiaomingOK127.0.0.1:6379[4]> ttl name #查看剩余时间(integer) 24
SETNX
说明:设置key-value,key不存在时才生效,key存在则忽略格式:SETEX key expire value127.0.0.1:6379[4]> SETNX name xiaoming(integer) 1127.0.0.1:6379[4]> SETNX name dong(integer) 0127.0.0.1:6379[4]> get name"xiaoming"
MSETNX
说明:同时设置一个或多个key-value,当key不存在才生效格式:MSETNX key1 value1 key2 value2 key3 value3注意:该命令具有原子性,设置的所有key都不存在才会生效。哪怕其中1个key已存在,都会导致设置失败
127.0.0.1:6379[4]> set key1 abcOK127.0.0.1:6379[4]> MSETNX key1 aaa key2 xyz(integer) 0127.0.0.1:6379[4]> keys *1) "key1"
INCR/INCRBY
说明:将key存储的数字加1格式:INCR keyINCR
说明:将key存储的数字加上指定的数值格式:INCRBY key incrementINCRBY
127.0.0.1:6379[4]> SET age 20OK127.0.0.1:6379[4]> INCR age(integer) 21127.0.0.1:6379[4]> INCRBY age 5(integer) 26
DECR/DECRBY
将key的值递减,与INCR、INCRBY同理