Redis数据类型之String类型
String类型,也就是字符串类型,是Redis中最简单的存储类型。
其value是字符串,不过根据字符串的格式不同,又可以分为3类:
-
String:普通字符串
-
int:整数类型,可以做自增、自减操作
-
float:浮点型,可以做自增、自减操作
不管是哪种格式,底层都是字节数组形式存储,只不过是编码方式不同。字符串的最大空间不能超过512m。
KEY |
VALUE |
msg |
hello world |
num |
10 |
score |
92.5 |
String的常用命令有:
命令 |
描述 |
set <key> <value> |
设置键值对,成功返回1,失败返回0,key值已经存在则覆盖原值 |
get <key> |
根据key返回对应的value |
setnx <key> <value> |
只有key 不存在时,设置key的值,key值存在则无法设置 |
append <key> <value> |
给指定的key后面追加<value> 并返回总长度 |
strlen <key> |
获取key对应的value的长度 |
incr <key> |
将key中储存则数字值增1,只能对数字值操作,如果为空,新值为1 |
decr <key> |
将key中储存的数字值减1 |
incrby/decrby <key> <步长> |
将key中储存的数字值增减。自定义步长 |
mset <key><value>.. |
可以同时设置多组键值对 |
mget <key>... |
可以同时一个或多个key的value值 |
msetnx <key1> <value1> <key2><value2>.... |
同时设置多组键值对 |
mget <k1> <k2> ... |
可以获取1个或多个键值对 |
msetnx <key1> <value1> <key2> <value2>.... |
同时设置多组键值对,具有原子性 |
getrange <key> <起始位置> <结束位置> |
获取值的范围,类似java中的subString,前包,后包,下标从0开始 |
setrange <key> <起始位置> <value> |
用value 覆写key中所储存的字符串的值,从起始位置索引覆写 |
setex <key> <过期时间> <value> |
设置键值对的同时,设置过期时间,单位秒 |
用法举例