String是最简单的数据类型,一个key对应一个value,string类型是二进制安全的,redis的String可以包含任何数据,
比如jpg图片或者系列化的对象。
Set方法:
设置key对应的值为String类型的value,例如我们添加一个
name=xiaoming的键值对。
[[email protected] bin]# redis-cli -h 127.0.0.1 -p 6379 -a lh801309
127.0.0.1:6379> set name xiaoming
OK
127.0.0.1:6379> get name
"xiaoming"
127.0.0.1:6379>
如果在set同一个键的话会覆盖,如果不想覆盖怎么办?
可以用setnx方法,如果不存在添加,存在返回0
127.0.0.1:6379> setnx name xiaohong
(integer) 0
setex方法:指定设置键的有效期:
127.0.0.1:6379> setex age 10 10
OK
127.0.0.1:6379> get age
"10"
127.0.0.1:6379> get age
(nil)
setrange方法:替换子字符串
127.0.0.1:6379> set mail [email protected]
OK
127.0.0.1:6379> SETRANGE mail 4 @gmail.com
(integer) 14
127.0.0.1:6379> get mail
"[email protected]@gmail.com"
127.0.0.1:6379>
mset方法:批量插入
127.0.0.1:6379> MSET key1 1 key2 2 key3 3
OK
127.0.0.1:6379> get key1
"1"
127.0.0.1:6379> get key2
"2"
127.0.0.1:6379> get key3
"3"
msetnx 一次性设置多个key的值,成功返回ok表示所有值被设置了,
失败返回0表示没有任何值被 设置,但是不会覆盖已经存在的key
127.0.0.1:6379> MSETNX key4 4 key5 5 key3 0
(integer) 0
127.0.0.1:6379> get key4
(nil)
只要一个不成功就返回0,因为key3已经存在
getset方法:获取旧值并设置新值
127.0.0.1:6379> get key1
"1"
127.0.0.1:6379> getset key1 100
"1"
127.0.0.1:6379> get key1
"100"
getrange方法:获取指定的子字符串
127.0.0.1:6379> get mail
"[email protected]@gmail.com"
127.0.0.1:6379> GETRANGE mail 0 6
"[email protected]@gm"
mget方法:批量获取
127.0.0.1:6379> mget key1 key2 key3
1) "100"
2) "2"
3) "3"
incr方法:对key的值做加加操作,并返回新值
127.0.0.1:6379> get key1
"100"
127.0.0.1:6379> INCR key1
(integer) 101
127.0.0.1:6379> INCR key1
(integer) 102
incrby方法:同incr,加指定的值,key不存在的时候回设置key,
并认为原来的value是0
127.0.0.1:6379> get key1
"102"
127.0.0.1:6379> INCRBY key1 5
(integer) 107
设置正数就是加,设置负值就是减
decr方法:对key的值做减减操作。
decrby方法:同decr类似,减指定值
append方法:给指定的key的value追加
127.0.0.1:6379> get mail
"[email protected]@gmail.com"
127.0.0.1:6379> append mail .net
(integer) 18
127.0.0.1:6379> get mail
"[email protected]@gmail.com.net"
127.0.0.1:6379>
strlen 获取指定key的value值
127.0.0.1:6379> get mail
"[email protected]@gmail.com.net"
127.0.0.1:6379> STRLEN mail
(integer) 18